@@ -128,6 +128,9 @@ function reset_timestamps ()
128
128
129
129
# ## start ###
130
130
131
+ # first time we build freetype we don't want harfbuzz
132
+ with_harfbuzz=no
133
+
131
134
if gcc -v 2>&1 | grep " Target.*x86_64" > /dev/null ; then
132
135
IS64BIT=1
133
136
HOSTBUILD=" --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32"
@@ -195,7 +198,7 @@ OUTINC=$OUT/include
195
198
CURDATE=` date " +%Y%m%d" `
196
199
197
200
export PATH=" $PATH :$OUTBIN :$CURDIR /bin"
198
- export PKG_CONFIG_PATH=" $OUTLIB /pkgconfig/ "
201
+ export PKG_CONFIG_PATH=" $OUTLIB /pkgconfig"
199
202
export PKG_CONFIG=/bin/pkg-config
200
203
201
204
echo " ###### [` date +%T` ] BUILD STARTED param1='$PKGLISTNAME ' param2='$DLLSUFFIX '"
@@ -242,6 +245,9 @@ for PACK in $PKGLIST; do
242
245
if [ -e $SRCDIR /$PACK .tar.lzma ] ; then SRCBALL=" $PACK .tar.lzma" ; tar --lzma -xf $SRCDIR /$PACK .tar.lzma; fi
243
246
if [ -e $SRCDIR /$PACK .tar.xz ] ; then SRCBALL=" $PACK .tar.xz" ; tar --xz -xf $SRCDIR /$PACK .tar.xz; fi
244
247
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
245
251
(
246
252
# ugly but somehow works
247
253
echo " {"
@@ -429,12 +435,51 @@ install_bats
429
435
freetype-* )
430
436
cd $WRKDIR /$PACK
431
437
save_configure_help
438
+
432
439
CC=gcc xxrun ./configure $HOSTBUILD --prefix=$OUT --enable-static=no --enable-shared=yes \
440
+ --with-harfbuzz=$with_harfbuzz \
433
441
CFLAGS=" -O2 -I$OUTINC -mms-bitfields" LDFLAGS=" -L$OUTLIB "
434
442
patch_libtool
435
443
xxrun make
436
444
xxrun make install
437
445
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
+
438
483
;;
439
484
440
485
# ----------------------------------------------------------------------------
@@ -443,10 +488,18 @@ cd $WRKDIR/$PACK
443
488
save_configure_help
444
489
445
490
# 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
447
492
448
493
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
+
450
503
patch_libtool
451
504
xxrun make
452
505
xxrun make install
@@ -474,6 +527,7 @@ cp $(dirname `which gcc`)/*.dll ./fc-cache
474
527
patch_libtool
475
528
xxrun make
476
529
xxrun make install
530
+ # xxrun make install DESTDIR=$OUT
477
531
;;
478
532
479
533
# ----------------------------------------------------------------------------
@@ -609,6 +663,49 @@ xxrun make PERL=perl
609
663
xxrun make PERL=perl install_sw
610
664
;;
611
665
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
+
612
709
# ----------------------------------------------------------------------------
613
710
openssl-1.1.1* )
614
711
cd $WRKDIR /$PACK
@@ -736,7 +833,9 @@ test -e $OUT/lib/libssl.dll.a && cp $OUT/lib/libssl.dll.a $OUT/lib/libssl32.a
736
833
test -e $OUT /lib/libssl.dll.a && cp $OUT /lib/libssl.dll.a $OUT /lib/libssleay32.a
737
834
# hacks: done
738
835
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
740
839
# build only client related parts
741
840
xxrun make -C src/bin/pg_config install
742
841
xxrun make -C src/interfaces/libpq install
@@ -1037,6 +1136,7 @@ libssh2-*)
1037
1136
cd $WRKDIR /$PACK
1038
1137
save_configure_help
1039
1138
# avoid mansyntax.sh test failure
1139
+ xxrun autoreconf -fi
1040
1140
sed -i " s|rm -f |rm -rf |" tests/mansyntax.sh
1041
1141
xxrun ./configure $HOSTBUILD --prefix=$OUT --enable-static=no --enable-shared=yes --disable-examples-build
1042
1142
patch_libtool
@@ -1176,6 +1276,10 @@ echo "SET_TARGET_PROPERTIES (\${HDF5_HL_LIBSH_TARGET} PROPERTIES SUFFIX $D
1176
1276
echo " SET_TARGET_PROPERTIES (\$ {HDF5_HL_CPP_LIBSH_TARGET} PROPERTIES SUFFIX $DLLSUFFIX .dll)" >> CMakeLists.txt
1177
1277
echo " SET_TARGET_PROPERTIES (\$ {HDF5_TOOLS_LIBSH_TARGET} PROPERTIES SUFFIX $DLLSUFFIX .dll)" >> CMakeLists.txt
1178
1278
echo " ENDIF ()" >> CMakeLists.txt
1279
+
1280
+ szlib=$OUTLIB /libsz.dll.a
1281
+ [ -e $OUTLIB /libsz.a ] && szlib=$OUTLIB /libsz.a
1282
+
1179
1283
mkdir MY_BUILD
1180
1284
cd MY_BUILD
1181
1285
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 \
1192
1296
-DHDF5_ENABLE_SZIP_SUPPORT=ON \
1193
1297
-DHDF5_ENABLE_SZIP_ENCODING=ON \
1194
1298
-DSZIP_INCLUDE_DIR=$OUT /include \
1195
- -DSZIP_LIBRARY=$OUT /lib/libsz.dll.a \
1299
+ -DSZIP_LIBRARY=$szlib \
1196
1300
..
1197
1301
1198
1302
# ##-DHDF5_INSTALL_CMAKE_DIR="lib/cmake" \
@@ -1215,6 +1319,7 @@ xxrun make install
1215
1319
# ----------------------------------------------------------------------------
1216
1320
hdf-* )
1217
1321
cd $WRKDIR /$PACK
1322
+ # cd $WRKDIR/hdfsrc
1218
1323
echo " IF (BUILD_SHARED_LIBS)" >> CMakeLists.txt
1219
1324
# ##new
1220
1325
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
1233
1338
# echo "SET_TARGET_PROPERTIES (\${HDF4_SRC_FCSTUB_LIB_NAME} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
1234
1339
# echo "SET_TARGET_PROPERTIES (\${HDF4_SRC_FORTRAN_LIB_NAME} PROPERTIES SUFFIX $DLLSUFFIX.dll)">> CMakeLists.txt
1235
1340
echo " ENDIF ()" >> CMakeLists.txt
1341
+
1342
+ szlib=$OUTLIB /libsz.dll.a
1343
+ [ -e $OUTLIB /libsz.a ] && szlib=$OUTLIB /libsz.a
1344
+
1236
1345
mkdir MY_BUILD
1237
1346
cd MY_BUILD
1238
1347
cp ../COPYING.txt ./
@@ -1249,7 +1358,7 @@ xxrun cmake -G 'Unix Makefiles' -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$O
1249
1358
-DHDF4_NO_PACKAGES=ON \
1250
1359
-DHDF4_ENABLE_NETCDF=OFF \
1251
1360
-DSZIP_INCLUDE_DIR=$OUT /include \
1252
- -DSZIP_LIBRARY=$OUT /lib/libsz.dll.a \
1361
+ -DSZIP_LIBRARY=$szlib \
1253
1362
..
1254
1363
xxrun gmake
1255
1364
xxrun gmake install
@@ -1443,7 +1552,7 @@ sed -i 's/-lfreeglut/-lglut/' $OUT/lib/pkgconfig/freeglut.pc
1443
1552
giflib-* )
1444
1553
cd $WRKDIR /$PACK
1445
1554
1446
- sed -i " s/-\$ (LIBMAJOR)\.dll /-\$ (LIBMAJOR)${DLLSUFFIX} .dll /g" Makefile
1555
+ sed -i " s/-\$ (LIBMAJOR)\.\$ (SOEXTENSION) /-\$ (LIBMAJOR)${DLLSUFFIX} .\$ (SOEXTENSION) /g" Makefile
1447
1556
sed -i " s/\$ (MAKE) -C doc/#\$ (MAKE) -C doc/g" Makefile
1448
1557
sed -i " s/diff -u/diff -wu/g" tests/makefile
1449
1558
@@ -1581,7 +1690,8 @@ libuv-*)
1581
1690
cd $WRKDIR /$PACK
1582
1691
./autogen.sh
1583
1692
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"
1585
1695
patch_libtool
1586
1696
xxrun make
1587
1697
xxrun make install
@@ -1703,6 +1813,29 @@ xxrun make
1703
1813
xxrun make install
1704
1814
;;
1705
1815
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
+
1706
1839
# ----------------------------------------------------------------------------
1707
1840
cfitsio-* )
1708
1841
cd $WRKDIR /$PACK
0 commit comments