Skip to content

Commit d22291c

Browse files
authored
Merge pull request #59 from StrawberryPerl/builds_for_5040
Builds for 5040
2 parents 5fd0df6 + c4b4246 commit d22291c

File tree

48 files changed

+4220
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+4220
-37
lines changed

Diff for: 5040

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
###### termcap + readline vybuildit co nejdrive
2+
termcap-1.3.1
3+
readline-8.2
4+
5+
###### gddm + db
6+
gdbm-1.19
7+
db-6.2.38
8+
9+
###### math libs
10+
gmp-6.3.0
11+
mpfr-4.2.1
12+
mpc-1.3.1
13+
14+
###### compress libs
15+
bzip2-1.0.6
16+
zlib-1.3.1
17+
xz-5.4.6
18+
19+
###### misc simple
20+
libiconv-1.17
21+
expat-2.6.2
22+
23+
###### xml libs
24+
libxml2-2.12.6
25+
libxslt-1.1.39
26+
27+
###### crypto
28+
openssl-3.3.0
29+
libssh2-1.11.0
30+
#libsodium-1.0.19
31+
32+
###### pgsql
33+
postgresql-16.2
34+
# mysql-connector-c-8.0.15-src
35+
36+
###### graphics
37+
freeglut-3.4.0
38+
giflib-5.2.2
39+
jpeg-9c
40+
tiff-4.6.0
41+
libpng-1.6.43
42+
libXpm-3.5.12
43+
graphite2-1.3.14
44+
libwebp-1.4.0
45+
46+
#HACK: rebuilding freetype twice is insane but necessary
47+
fribidi-1.0.14
48+
freetype-2.13.2
49+
harfbuzz-8.4.0
50+
freetype-2.13.2
51+
52+
fontconfig-2.15.0
53+
libgd-2.3.3
54+
#t1lib-5.1.2
55+
56+
###### extras
57+
libffi-3.4.6
58+
libuv-v1.48.0
59+
60+
libunistring-1.2
61+
libidn2-2.3.7
62+
63+
###### PDL related
64+
#cfitsio-3.47
65+
ta-lib-0.4.0
66+
lapack-3.12.0
67+
fftw-3.3.10
68+
gsl-2.7.1
69+
#proj-9.1.0
70+
#? http://sourceforge.net/projects/libharu/files/libharu2/2.0.8/
71+
plplot-5.15.0
72+
73+
#TEST:
74+
szip-2.1.1
75+
hdf-4.3.0
76+
hdf5-1.12.2
77+
netcdf-c-4.9.2
78+
79+
80+
#NOT-NEEDED: libcaca-0.99.beta19
81+
libcerf-1.3
82+
gnuplot-6.0.0

Diff for: bharfbuz

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
###### termcap + readline vybuildit co nejdrive
2+
termcap-1.3.1
3+
readline-8.2
4+
5+
6+
###### compress libs
7+
bzip2-1.0.8
8+
zlib-1.3.1
9+
10+
###### misc simple
11+
libiconv-1.17
12+
expat-2.6.2
13+
14+
#HACK: rebuilding freetype twice is insane but necessary
15+
fribidi-1.0.14
16+
freetype-2.13.2 rebuild
17+
harfbuzz-8.4.0 rebuild
18+
freetype-2.13.2 rebuild
19+

Diff for: build.sh

+141-8
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ function reset_timestamps ()
128128

129129
### start ###
130130

131+
# first time we build freetype we don't want harfbuzz
132+
with_harfbuzz=no
133+
131134
if gcc -v 2>&1 | grep "Target.*x86_64" >/dev/null ; then
132135
IS64BIT=1
133136
HOSTBUILD="--host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32"
@@ -195,7 +198,7 @@ OUTINC=$OUT/include
195198
CURDATE=`date "+%Y%m%d"`
196199

197200
export PATH="$PATH:$OUTBIN:$CURDIR/bin"
198-
export PKG_CONFIG_PATH="$OUTLIB/pkgconfig/"
201+
export PKG_CONFIG_PATH="$OUTLIB/pkgconfig"
199202
export PKG_CONFIG=/bin/pkg-config
200203

201204
echo "###### [`date +%T`] BUILD STARTED param1='$PKGLISTNAME' param2='$DLLSUFFIX'"
@@ -242,6 +245,9 @@ for PACK in $PKGLIST; do
242245
if [ -e $SRCDIR/$PACK.tar.lzma ] ; then SRCBALL="$PACK.tar.lzma"; tar --lzma -xf $SRCDIR/$PACK.tar.lzma; fi
243246
if [ -e $SRCDIR/$PACK.tar.xz ] ; then SRCBALL="$PACK.tar.xz"; tar --xz -xf $SRCDIR/$PACK.tar.xz; fi
244247
if [ -z $SRCBALL ] ; then echo "FATAL: source tarball for '$PACK' not found" ; exit ; fi
248+
# Ugly hack for hdf-4 to account for the top-level dir name in the tarball.
249+
# Will need to be generalised if future versions do the same.
250+
if [ $PACK = "hdf-4.3.0" ] ; then mv hdfsrc $PACK ; fi
245251
(
246252
#ugly but somehow works
247253
echo "{"
@@ -429,12 +435,51 @@ install_bats
429435
freetype-*)
430436
cd $WRKDIR/$PACK
431437
save_configure_help
438+
432439
CC=gcc xxrun ./configure $HOSTBUILD --prefix=$OUT --enable-static=no --enable-shared=yes \
440+
--with-harfbuzz=$with_harfbuzz \
433441
CFLAGS="-O2 -I$OUTINC -mms-bitfields" LDFLAGS="-L$OUTLIB"
434442
patch_libtool
435443
xxrun make
436444
xxrun make install
437445
install_bats
446+
with_harfbuzz=auto
447+
;;
448+
449+
# ----------------------------------------------------------------------------
450+
harfbuzz-8*)
451+
cd $WRKDIR/$PACK
452+
save_configure_help
453+
454+
# Use the mingw64 meson so the python libs work.
455+
# Also make sure we use the pkg-config that lives with meson
456+
# The default gives path headaches.
457+
old_path=$PATH
458+
old_pk=$PKG_CONFIG
459+
PKG_CONFIG=
460+
export PATH=/z/msys64/mingw64/bin:${PATH}
461+
462+
sed -i "s/hb_so_version = ''/hb_so_version = '__'/" src/meson.build
463+
sed -i "s/hb_so_version = '0'/hb_so_version = '0__'/" src/meson.build
464+
465+
xxrun meson setup \
466+
--prefix=$OUT --buildtype plain \
467+
--wrap-mode=nofallback --default-library=shared \
468+
-Dauto_features=enabled -Dintrospection=disabled -Dicu=disabled \
469+
-Dgdi=enabled -Dgraphite=enabled -Dchafa=disabled \
470+
-Ddirectwrite=enabled -Dtests=disabled -Dfreetype=enabled \
471+
-Dglib=disabled -Dgobject=disabled -Dcairo=disabled \
472+
-Ddocs=disabled \
473+
. \
474+
_build
475+
476+
xxrun meson compile -C _build
477+
478+
xxrun meson install -C _build
479+
480+
export PATH=$old_path
481+
PKG_CONFIG=$old_pk
482+
438483
;;
439484

440485
# ----------------------------------------------------------------------------
@@ -443,10 +488,18 @@ cd $WRKDIR/$PACK
443488
save_configure_help
444489

445490
#dll suffix hack
446-
sed -i "s|LIBRARY lib%s-0\.dll|LIBRARY lib%s-0$DLLSUFFIX.dll|" src/gen-def.py
491+
#sed -i "s|LIBRARY lib%s-0\.dll|LIBRARY lib%s-0$DLLSUFFIX.dll|" src/gen-def.py
447492

448493
xxrun ./configure $HOSTBUILD --prefix=$OUT --disable-dependency-tracking --enable-static=no --enable-shared=yes \
449-
--with-graphite2=auto --with-freetype=auto CFLAGS="-O2 -I$OUTINC -mms-bitfields" LDFLAGS="-L$OUTLIB"
494+
--with-graphite2=auto --with-freetype=auto --with-cairo=no --with-chafa=no \
495+
--with-glib=no --with-gobject=no \
496+
CFLAGS="-O2 -I$OUTINC -mms-bitfields -pthread -Wa,-mbig-obj" \
497+
CXXFLAGS="-pthread -Wa,-mbig-obj" \
498+
LDFLAGS="-L$OUTLIB"
499+
500+
# could use -flto -Wl,-allow-multiple-definition instead of -Wa,mbig-obj
501+
# as the latter reportedly does not work on 32 bit
502+
450503
patch_libtool
451504
xxrun make
452505
xxrun make install
@@ -474,6 +527,7 @@ cp $(dirname `which gcc`)/*.dll ./fc-cache
474527
patch_libtool
475528
xxrun make
476529
xxrun make install
530+
#xxrun make install DESTDIR=$OUT
477531
;;
478532

479533
# ----------------------------------------------------------------------------
@@ -609,6 +663,49 @@ xxrun make PERL=perl
609663
xxrun make PERL=perl install_sw
610664
;;
611665

666+
# ----------------------------------------------------------------------------
667+
openssl-3.*)
668+
cd $WRKDIR/$PACK
669+
670+
if [ $IS64BIT ] ; then
671+
OPENSSLTARGET=mingw64
672+
else
673+
OPENSSLTARGET=mingw
674+
fi
675+
676+
#sed -i "s/shared_extension => \".dll\"/shared_extension => \"${DLLSUFFIX}.dll\"/g" Configurations/00-base-templates.conf
677+
sed -i "s/shared_target/shared_extension => \"${DLLSUFFIX}.dll\", shared_target/g" Configurations/00-base-templates.conf
678+
#sed -i "s/shared_extension => \".dll\"/shared_extension => \"${DLLSUFFIX}.dll\"/g" Configurations/10-main.conf
679+
sed -i "s/^LIBRARY *\"\$libname/LIBRARY \"\${libname}$DLLSUFFIX/" util/mkdef.pl
680+
sed -i "s/'.dll'/'${DLLSUFFIX}.dll'/g" Configurations/platform/mingw.pm
681+
682+
### -D__MINGW_USE_VC2005_COMPAT is a trouble maker see https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/15
683+
684+
xxrun ./Configure shared zlib enable-rfc3779 enable-camellia enable-capieng enable-idea enable-mdc2 enable-rc5 \
685+
-DOPENSSLBIN=\"\\\"${OUT}/bin\\\"\" --openssldir=ssl \
686+
--with-zlib-lib=$OUTLIB --with-zlib-include=$OUTINC \
687+
--libdir=lib \
688+
--prefix=$OUT $OPENSSLTARGET
689+
690+
### zlib-dynamic vs. zlib
691+
692+
sed -i 's/__*\.dll\.a/.dll.a/g' Makefile
693+
sed -i 's/__*\.dll\.a/.dll.a/g' configdata.pm
694+
sed -i "s/define LIBZ \"ZLIB1\"/define LIBZ \"ZLIB1$DLLSUFFIX\"/" crypto/comp/c_zlib.c
695+
696+
xxrun make depend all
697+
#xxrun make tests
698+
xxrun make install_sw
699+
700+
###HACK engines-1_1/*.dll must be without DLLSUFFIX !!
701+
# should use a find and exec for this
702+
mv "$OUT/lib/engines-3/capi$DLLSUFFIX.dll" "$OUT/lib/engines-3/capi.dll"
703+
mv "$OUT/lib/engines-3/padlock$DLLSUFFIX.dll" "$OUT/lib/engines-3/padlock.dll"
704+
#mv "$OUT/lib/engines-3/dasync$DLLSUFFIX.dll" "$OUT/lib/engines-3/dasync.dll"
705+
mv "$OUT/lib/engines-3/loader_attic$DLLSUFFIX.dll" "$OUT/lib/engines-3/loader_attic.dll"
706+
#mv "$OUT/lib/engines-3/ossltest$DLLSUFFIX.dll" "$OUT/lib/engines-3/ossltest.dll"
707+
;;
708+
612709
# ----------------------------------------------------------------------------
613710
openssl-1.1.1*)
614711
cd $WRKDIR/$PACK
@@ -736,7 +833,9 @@ test -e $OUT/lib/libssl.dll.a && cp $OUT/lib/libssl.dll.a $OUT/lib/libssl32.a
736833
test -e $OUT/lib/libssl.dll.a && cp $OUT/lib/libssl.dll.a $OUT/lib/libssleay32.a
737834
#hacks: done
738835
save_configure_help
739-
xxrun ./configure $HOSTBUILD --prefix=$OUT --with-zlib --with-ldap --with-openssl --with-includes=$OUTINC --with-libraries=$OUTLIB
836+
xxrun ./configure $HOSTBUILD --prefix=$OUT --with-zlib --with-ldap --with-openssl \
837+
--without-icu \
838+
--with-includes=$OUTINC --with-libraries=$OUTLIB
740839
#build only client related parts
741840
xxrun make -C src/bin/pg_config install
742841
xxrun make -C src/interfaces/libpq install
@@ -1037,6 +1136,7 @@ libssh2-*)
10371136
cd $WRKDIR/$PACK
10381137
save_configure_help
10391138
# avoid mansyntax.sh test failure
1139+
xxrun autoreconf -fi
10401140
sed -i "s|rm -f |rm -rf |" tests/mansyntax.sh
10411141
xxrun ./configure $HOSTBUILD --prefix=$OUT --enable-static=no --enable-shared=yes --disable-examples-build
10421142
patch_libtool
@@ -1176,6 +1276,10 @@ echo "SET_TARGET_PROPERTIES (\${HDF5_HL_LIBSH_TARGET} PROPERTIES SUFFIX $D
11761276
echo "SET_TARGET_PROPERTIES (\${HDF5_HL_CPP_LIBSH_TARGET} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
11771277
echo "SET_TARGET_PROPERTIES (\${HDF5_TOOLS_LIBSH_TARGET} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
11781278
echo "ENDIF ()" >> CMakeLists.txt
1279+
1280+
szlib=$OUTLIB/libsz.dll.a
1281+
[ -e $OUTLIB/libsz.a ] && szlib=$OUTLIB/libsz.a
1282+
11791283
mkdir MY_BUILD
11801284
cd MY_BUILD
11811285
xxrun cmake -G 'MSYS Makefiles' -Wno-dev -DCMAKE_INSTALL_PREFIX=$OUT \
@@ -1192,7 +1296,7 @@ xxrun cmake -G 'MSYS Makefiles' -Wno-dev -DCMAKE_INSTALL_PREFIX=$OUT \
11921296
-DHDF5_ENABLE_SZIP_SUPPORT=ON \
11931297
-DHDF5_ENABLE_SZIP_ENCODING=ON \
11941298
-DSZIP_INCLUDE_DIR=$OUT/include \
1195-
-DSZIP_LIBRARY=$OUT/lib/libsz.dll.a \
1299+
-DSZIP_LIBRARY=$szlib \
11961300
..
11971301

11981302
###-DHDF5_INSTALL_CMAKE_DIR="lib/cmake" \
@@ -1215,6 +1319,7 @@ xxrun make install
12151319
# ----------------------------------------------------------------------------
12161320
hdf-*)
12171321
cd $WRKDIR/$PACK
1322+
#cd $WRKDIR/hdfsrc
12181323
echo "IF (BUILD_SHARED_LIBS)" >> CMakeLists.txt
12191324
###new
12201325
echo "SET_TARGET_PROPERTIES (\${HDF4_SRC_LIBSH_TARGET} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
@@ -1233,6 +1338,10 @@ echo "SET_TARGET_PROPERTIES (\${HDF4_MF_LIBSH_TARGET} PROPERTIES SU
12331338
#echo "SET_TARGET_PROPERTIES (\${HDF4_SRC_FCSTUB_LIB_NAME} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
12341339
#echo "SET_TARGET_PROPERTIES (\${HDF4_SRC_FORTRAN_LIB_NAME} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
12351340
echo "ENDIF ()" >> CMakeLists.txt
1341+
1342+
szlib=$OUTLIB/libsz.dll.a
1343+
[ -e $OUTLIB/libsz.a ] && szlib=$OUTLIB/libsz.a
1344+
12361345
mkdir MY_BUILD
12371346
cd MY_BUILD
12381347
cp ../COPYING.txt ./
@@ -1249,7 +1358,7 @@ xxrun cmake -G 'Unix Makefiles' -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$O
12491358
-DHDF4_NO_PACKAGES=ON \
12501359
-DHDF4_ENABLE_NETCDF=OFF \
12511360
-DSZIP_INCLUDE_DIR=$OUT/include \
1252-
-DSZIP_LIBRARY=$OUT/lib/libsz.dll.a \
1361+
-DSZIP_LIBRARY=$szlib \
12531362
..
12541363
xxrun gmake
12551364
xxrun gmake install
@@ -1443,7 +1552,7 @@ sed -i 's/-lfreeglut/-lglut/' $OUT/lib/pkgconfig/freeglut.pc
14431552
giflib-*)
14441553
cd $WRKDIR/$PACK
14451554

1446-
sed -i "s/-\$(LIBMAJOR)\.dll/-\$(LIBMAJOR)${DLLSUFFIX}.dll/g" Makefile
1555+
sed -i "s/-\$(LIBMAJOR)\.\$(SOEXTENSION)/-\$(LIBMAJOR)${DLLSUFFIX}.\$(SOEXTENSION)/g" Makefile
14471556
sed -i "s/\$(MAKE) -C doc/#\$(MAKE) -C doc/g" Makefile
14481557
sed -i "s/diff -u/diff -wu/g" tests/makefile
14491558

@@ -1581,7 +1690,8 @@ libuv-*)
15811690
cd $WRKDIR/$PACK
15821691
./autogen.sh
15831692
save_configure_help
1584-
xxrun ./configure $HOSTBUILD --prefix=$OUT --disable-dependency-tracking --enable-static=no --enable-shared=yes
1693+
xxrun ./configure $HOSTBUILD --prefix=$OUT --disable-dependency-tracking --enable-static=no --enable-shared=yes \
1694+
CFLAGS="-Wno-int-conversion"
15851695
patch_libtool
15861696
xxrun make
15871697
xxrun make install
@@ -1703,6 +1813,29 @@ xxrun make
17031813
xxrun make install
17041814
;;
17051815

1816+
# ----------------------------------------------------------------------------
1817+
gnuplot-6*)
1818+
cd $WRKDIR/$PACK
1819+
1820+
# mv $OUT/bin/gdlib-config $OUT/bin/gdlib-config.OBSOLETE
1821+
1822+
autoreconf -fi
1823+
save_configure_help
1824+
1825+
xxrun ./configure $HOSTBUILD --prefix=$OUT --disable-dependency-tracking \
1826+
--without-qt --without-latex --without-cairo \
1827+
--without-lua --with-bitmap-terminals --disable-raise-console \
1828+
--with-readline=gnu
1829+
1830+
###--with-readline=gnu "CFLAGS=-I$OUTINC" "LDFLAGS=-L$OUTLIB"
1831+
1832+
# ugly hack to not build docs - need to find the configure switch
1833+
sed -i "s/SUBDIRS = config m4 term src docs/SUBDIRS = config m4 term src/" Makefile
1834+
1835+
xxrun make
1836+
xxrun make install
1837+
;;
1838+
17061839
# ----------------------------------------------------------------------------
17071840
cfitsio-*)
17081841
cd $WRKDIR/$PACK

0 commit comments

Comments
 (0)