PATCH_LIST=fix_glibc_2_28_major_undefined.patch FILE_LIST= SRC_FETCH_METHOD=http # retrieval method : # can be svn, git, http, ftp, filesystem # SRC_FETCH_METHOD=http # SRC_FETCH_PATH=https://download.gnome.org/sources/glib/2.34/glib-2.34.3.tar.xz # retrieval path : # SRC_FETCH_PATH=http://foo.com/test.tar.bz2 # # Use FLXHOSTOS, FLXHOSTARCH, HOSTCC, HOSTCXX for the machine used to build. # Use FLXTARGOS, FLXTARGARCH, CC, CXX, LD, for the target machine. # FLXMAKE usually is 'make', FLXPMAKE usually is 'make -j 2' # Build tools are in /$FLXTOOLDIR, toolchain root dir is /$FLXROOTDIR. # Current dir is /$CURDIR, package dir is /$PKGDIR, dest root dir is /$ROOTDIR. # Package name is $PKGRADIX-$PKGVER-$DISTVER # optimize for size #FLXARCH=$FLX_ARCH_SMALL MAKEDEPENDS=( 'zlib-*:::*.so.* *.so *.h' 'libffi-*:::*.so.* *.so *.h *.a' ) # format : # MAKEDEPENDS='packagename:versfx:architecture:globbing' # # exemple : # MAKEDEPENDS='tplparser-0local-flx0.0:albdev:i586:*.a *.h' function do_config { # glib requires the "glib-genmarshal" utility that it provides. We would # prefer to build it just before using it but that's not possible because # it relies on the whole library. So we need a first native pass to build # it then keep the utility at hand and build again. We do this in the do_config # pass which is already quite long. # --with-pcre=internal \ # we must use the internal pcre. If we try to use the system once, it must support unicode or utf-8. CC="$HOSTCC" CXX="$HOSTCXX" LD="$HOSTCC" CFLAGS="-O0" AR="$HOSTAR" RANLIB="${HOSTRANLIB:-$RANLIB}" \ LIBFFI_CFLAGS="-I$FLXROOTDIR/usr/lib/ -I$FLXROOTDIR/usr/lib/libffi-3.2.1/include" \ LIBFFI_LIBS="$FLXROOTDIR/usr/lib/libffi.a" \ ./configure --prefix=/usr --sysconfdir=/etc --enable-static \ --disable-gtk-doc-html --disable-selinux --disable-fam --disable-silent-rules \ --disable-dependency-tracking --disable-mem-pools --disable-xattr \ --disable-iconv-cache --disable-gc-friendly --with-pcre=internal \ --disable-dtrace \ || exit $? # for glib-2.34.3, remove --disable-regex --disable-threads # now build just what we need $FLXPMAKE -C glib/libcharset libcharset.la || exit $? $FLXPMAKE -C glib/pcre libpcre.la || exit $? $FLXPMAKE -C glib libglib-2.0.la || exit $? $FLXPMAKE -C gthread libgthread-2.0.la || exit $? $FLXPMAKE -C gobject glib-genmarshal || exit $? # and save the resulting executable mv gobject/glib-genmarshal native-glib-genmarshal || exit $? # and then clean everything and start over $FLXMAKE distclean do_config_native } function do_config_native { CC="$CC" CXX="$CXX" LD="$LD" \ LIBFFI_CFLAGS="-I$FLXROOTDIR/usr/lib/ -I$FLXROOTDIR/usr/lib/libffi-3.2.1/include" \ LIBFFI_LIBS="$FLXROOTDIR/usr/lib/libffi.a" \ RANLIB="$RANLIB" AR="$AR" AS="$AS" NM="$NM" OBJDUMP="$OBJDUMP" \ CFLAGS="$GCC_ARCH_SMALL $GCC_CPU_SMALL $GCC_OPT_SMALL" \ GLIB_GENMARSHAL="$PWD/native-glib-genmarshal" \ PKG_CONFIG="" \ ac_cv_path_GLIB_GENMARSHAL="$PWD/native-glib-genmarshal" \ ac_cv_path_GLIB_COMPILE_RESOURCES="yes" \ ac_cv_path_GLIB_COMPILE_SCHEMAS="yes" \ glib_cv_long_long_format=ll glib_cv_stack_grows=no glib_cv_working_bcopy=no glib_cv_sane_realloc=yes \ glib_cv_have_strlcpy=no glib_cv_have_qsort_r=no glib_cv_va_val_copy=no glib_cv_rtldglobal_broken=no \ glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes glib_cv_use_pid_surrogate=yes \ ac_cv_func_printf_unix98=no ac_cv_func_vsnprintf_c99=no \ ./configure \ --build=${FLXHOST} --host=${FLXTARG} \ --prefix=/usr --sysconfdir=/etc --disable-gtk-doc-html --disable-selinux --disable-fam --disable-silent-rules --disable-iconv-cache --disable-gc-friendly --disable-dtrace \ --with-sysroot=$FLXROOTDIR } function do_compile_only { # parallel make $FLXPMAKE -C glib V=1 } function do_prepack { $FLXMAKE install DESTDIR=$ROOTDIR set_default_perm $ROOTDIR }