====== Todo ====== **NOTE** this is an older version of the TODOs, the current TODOs are available under [[https://wiki.php.net/internals/windows/todo]] ===== Library Stuff ===== - Decide if we will distribute, third party but we will build/distribute, and third party we can't touch them - Build and distribute libs (and source/makefiles/etc) - Update on a regular basis with new libs - Keep version information and dates current with new builds - recruit additional help with building libraries - Document the process of getting a new library in our build systems (rules, naming, platform support, etc.) ===== Code ===== - Compiler warning killing spree (Kalle) - lower deprecation to _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE instead of /wd4996 - and kill new warnings - remove no deprecate warnings and fix core to use new API (probably not until 6.0) - get 6.0 compiling with unicode flag? (that would be fun) - Code audit for problem areas (streams/sockets and process control are two that come to mind) ===== Missing function implementations ===== Core/Standard: - [[http://docs.php.net/proc_nice| proc_nice]] -- See: http://news.php.net/php.internals.win/633 - [[http://docs.php.net/lchown| lchown]] - [[http://docs.php.net/lchgrp| lchgrp]] - [[http://docs.php.net/getrusage| getrusage]] - [[http://docs.php.net/sys_getloadavg| sys_getloadavg]] - [[http://docs.php.net/nl_langinfo| nl_langinfo]] - [[http://docs.php.net/money_format| money_format]] - [[http://docs.php.net/chroot| chroot]] - [[http://docs.php.net/strptime| strptime]] - [[http://docs.php.net/ftok| ftok]] Extensions: - (gd) [[http://docs.php.net/imagecreatefromxpm| imagecreatefromxpm]] SAPIs: - (apache) [[http://docs.php.net/apache_child_terminate| apache_child_terminate]] ===== Compiler warnings ===== === Linker etc. warnings === * ext/gettext: generates a MSIL .netmodule or module compiled with /GL; add /LTCG to the link command line to improve linker performance * ext/gd: generates a LNK4098 (default lib conflicts with use of other libs) * ext/iconv: generates a MSIL .netmodule or module compiled with /GL; add /LTCG to the linker command line to improve linker performance * ext/xmlreader: generates two LNK4049 (locally defined symbol imported) * sapi/cli: readline generates U4004 (too many rules for target) * sapi/embed: generates multiple LNK4044 (unrecognized option) ===== Configure system ===== - equivalent of phpize on windows (one extension configure/compile) - configs for extensions that can be done for windows (ncurses et al) ===== PHP Build Box ===== - create release build system - move all pecl extension building to pecl (pecl snaps on pecl) ===== PECL Build Box ===== - Get builds going for snaps (SVN versions), release versions, and alpha/beta if applicable ===== Windows GCOV Box ===== - Auto building and testing similar to [[http://gcov.php.net/ | gcov]], only for windows ===== Documentation ===== - Update the [[http://php.net/install.windows.building|official Windows build]] documentation - Update the [[http://php.net/install.pecl.windows.php|PECL on Windows]] documentation - Update related FAQs: ([[http://php.net/manual/en/faq.obtaining.php#faq.obtaining.optional|obtaining libraries]] and [[http://us3.php.net/manual/en/faq.obtaining.php#faq.obtaining.compileNT|compiling needs]]) - A recent post about [[http://markmail.org/message/c7hz3yycg4mvyje5|installation doc needs]]