BEWARE: Mostly unsorted ideas
=============================
### add some from: https://metacpan.org/pod/Bundle::libwin32
### upgrade to TermReadKey-2.32
### add to after-QA:
- OpenCL-patched
- pkg-config
- portable + Math::Float128
- PDL: test plplot (and other libs)
### openssl lib/engines/*.dll
### do we want to introduce $config{mystrawberryperlroot} ?
### set TERM= or set TERM=dumb ?
### gdb (now included in PDL edition)
- what about detached debug info?
- http://stackoverflow.com/questions/866721/how-to-generate-gcc-debug-symbol-outside-the-build-target
- http://marcioandreyoliveira.blogspot.cz/2008/03/how-to-load-debug-symbols-with-gdb.html
- https://www.technovelty.org/code/separate-debug-info.html
objcopy --only-keep-debug perl.exe perl.exe.debug
objcopy --add-gnu-debuglink=perl.exe.debug perl.exe
objcopy --only-keep-debug perl.exe perl.exe.debug
objcopy --remove-section=.gnu_debuglink perl.exe
objcopy --strip-debug perl.exe
objcopy --add-gnu-debuglink=perl.exe.debug perl.exe
ccflags ='-g -O2 -DDEBUGGING -DWIN32 -DPERL_TEXTMODE_SCRIPTS ... -fwrapv ...
optimize ='-g -O2 -DDEBUGGING',
ldflags ='-g -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
lddlflags='-mdll -g -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
ccflags ='-s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS ...
optimize ='-s -O2',
ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
ccflags_nolargefiles=' -g -O2 -DDEBUGGING -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
ldflags_nolargefiles='-g -L"C
c:\strawberry\perl\lib\Config_heavy.pl
s/(ccflags|optimize|ccflags_nolargefiles)(=.*?)-g -O2 -DDEBUGGING/$1-s -O2/;
s/(lddlflags|ldflags|ldflags_nolargefiles)(=.*?)-g /-s /;
### update GDBM related modules (extracted from core)
################################################
### extlibs & config info
lib pkgconfig *-config
gdbm-1.10 !! no
db-6.0.30 !! no
gmp-5.1.3 !! no
mpfr-3.1.2 !! no
mpc-1.0.2 !! no
zlib-1.2.8 YES
xz-5.0.5 YES
libiconv-1.14 !! no
expat-2.1.0 YES
libxml2-2.9.1 YES YES
libxslt-1.1.28 YES YES
openssl-1.0.1g YES
libssh2-1.4.3 YES
postgresql-9.3.4 YES
freeglut-2.8.1 !! no
giflib-5.0.6 !! no
jpeg-9a !! no
tiff-4.0.3 YES
libpng-1.6.10 YES YES
libXpm-3.5.11 YES
freetype-2.5.3 YES YES**
libgd-2.1.0 YES YES**
t1lib-5.1.2 !! no
libffi-3.0.13 YES
fftw-3.3.4 YES
gsl-1.16 YES YES**
proj-4.8.0 no????
plplot-5.10.0 no????
szip-2.1 no
hdf-4.2.10 no
hdf5-1.8.12 no
netcdf-4.3.2 YES YES
ta-lib-0.4.0 no YES**
gnuplot-4.6.5 no
ncurses-5.9 no YES
### PDL related
- Astro::FITS::Header
- PDL::IO::HDF5 ### sam warnings + testfailure
- PDL::NetCDF ### patch needed + netcdf3 support fails
- PDL::Graphics::Prima ### OK
- PDL::Graphics::Gnuplot ### OK
- PDL::FFTW ### NO (not recommended by CHM)
- PDL::IO::Browser ### (PDL-2.007) ncursesw not detected
- PDL::Graphics::PLplot ### (PDL-2.007) Cannot find plplot library (libplplotd.dll), skipping PDL::Graphics::PLplot
- PDL::IO::HDF ### (PDL-2.007) Cannot find hdf library, libdf.a
- PDL::GSL::* ### (PDL-2.007) OK
- PDL::GIS::Proj ### (PDL-2.007) PROJ4 library found but cannot initialize projection, won't build
- PDL::Transform::Proj4 ### (PDL-2.007) ~~ dtto ~~
- Alien::GSL ### does not detect existing library
- Alien::FFTW3 ### does not detect existing library
- PDL::FFTW3 ### Sorry, Alien::FFTW3 doesn't work for Microsoft Windows
- PDL::LinearAlgebra ### FAILS - unfriendly to gcc@MSWin32
- PDL::Ngrams
- PDL::Audio
- PDL::GSL::Randist
- PDL::CCS
- PDL::Stats
- PDL::VectorValued
- PDL::Graphics::Prima
### new modules - candidates
- AnyEvent (642KB)
- EV (550KB - 1095)
- Devel::NYTProf (1.23MB - 2326)
- POE (1.25MB - 3583)
- PAR::Packer (9.9MB)
- Time::ParseDate (55KB - 3638)
- Perl::Critic (2.3MB - total:3.252MB)
- DBIx::Class::Schema::Loader (3.6MB)
- SQL::Translator (2.6MB)
- Wx (88MB)
- Padre (97MB incl. Wx)
- CryptX (1MB)
### Test FAILS
! Testing Convert-PEM-0.08 failed
Failed test 'errstr matches decrypt failed'
# at t/02-encode.t line 28.
# 'ASN decode failed: decode error at C:/strawberry/perl/vendor/lib/Convert/ASN1/_decode.pm line 64.
# '
# doesn't match '(?^:^Decryption failed)'
! Testing GD-2.53 failed
GD - t/GD.t
! Testing Imager-0.98 failed
Imager - t/10png.t - Failed test 'read bad crc with png_ignore_benign_errors'
! Testing Test-Script-1.07 failed
Test::Script - t/03_compiles_bad.t
! Testing Win32-OLE-0.1711 failed
Win32::OLE - t/2_variant.t
! Testing Win32API-Registry-0.32 failed
Can't find key with values: More data is available
! Testing Win32-TieRegistry-0.26 failed
Win32::TieRegistry - t/02_main.t - Failed test 'Opened CU/SW/MS/Win/CV/Pol/Exp//NoDriveTypeAutoRun' + 'Type is REG_DWORD' + 'Value matches expected'
! Testing DBIx-Class-0.08270 failed but installing it anyway.
! Testing LWP-Protocol-https-6.04 failed but installing it anyway.
! Testing pip-1.19 failed but installing it anyway.
! Testing OpenGL-0.6703 failed but installing it anyway.
! Testing Data-Dump-Streamer-2.37 failed but installing it anyway.
### gcc-4.8.2 headers
YES ieeefp.h ------- I_IEEEFP
YES inttypes.h ------- I_INTTYPES
YES memory.h ------ I_MEMORY
YES netdb.h ------ I_NETDB
YES pthread.h ------ I_PTHREAD !!!!!!!
YES sys/file.h ------- I_SYS_FILE
YES sys/param.h ------- I_SYS_PARAM
YES sys/time.h ------- I_SYS_TIME
YES varargs.h ------- I_VARARGS
### MSI testing
- upgrade/downgrade
========== LATER ==========
### MSI: filesystem ACL for c:\strawberry & co.
http://wixtoolset.org/documentation/manual/v3/xsd/wix/permission.html
http://wixtoolset.org/documentation/manual/v3/xsd/util/permissionex.html
http://blogs.msdn.com/b/cjacks/archive/2008/12/04/how-to-set-directory-permissions-at-install-time-using-an-msi-created-using-windows-installer-xml-wix.aspx
create group:
http://stackoverflow.com/questions/11459591/how-to-create-a-local-group-and-add-an-active-directory-user-to-it-in-wix
http://stackoverflow.com/questions/12278265/how-to-get-user-credentials-displayed-as-default-in-a-wix-custom-dialog
http://social.msdn.microsoft.com/Forums/vstudio/en-US/39d9e905-2b35-4ce9-a544-4564f6b5a376/setting-file-permissions-in-languages-other-than-english-windows-installer-wix?forum=vssetup
### move dlls
- from c/bin to perl/bin
- still not sure
- perhaps a hack to BinaryToolsAndLibs.pm e.g. [src=>qr|c/bin/.*?\.dll/i, dst=>'perl/bin']
### maybe: keep something like 'minimal' perl
core + minimal sset of modules needed for relocation + setup
### maybe: single setup.bat
relocation + set env
maybe simple GUI
### UninstallModules.pm via cpanm
cpanm -U Capture::Tiny
### tools
- update: dendef, gmake, dmake, mingw-runtime
- add: genidl
### CHM documentation
- try http://www.microsoft.com/en-us/download/details.aspx?id=21138
- see https://github.com/oneclick/rubyinstaller/blob/master/resources/chm/contents.hhc.rhtml
### fix shebangline (partly fixed)
### IPC::Run3 is not able to handle 'dmake all' for 64bit build !!!
### check for XXX FIXME TODO in the code
- ok for now
### improve CreateRelocFiles
- search all in perl/bin
- search *.url in image_dir
- search *.pm in image_dir
### perltoc.pod contains hardcoded paths to build directory
- not a new bug
### PPM
- maybe App::Strawberry::PPM
- fix warning: Use of chdir('') or chdir(undef) as chdir() is deprecated at C:/strawberry-322222/perl/vendor/lib/PPM.pm line 393.