mirror of https://git.wownero.com/dsc/mxe.git
Merge pull request #1943 from tonytheodore/glib
glib: refactor native tools
This commit is contained in:
commit
872f37fbcb
|
@ -811,7 +811,7 @@ USE_OSGPLUGIN(<plugin2>)
|
|||
<!-- https://www.macports.org/ports.php -->
|
||||
<pre>sudo port install \
|
||||
autoconf automake bison coreutils flex gettext \
|
||||
gdk-pixbuf2 glib2 gnutar gsed intltool libffi libtool \
|
||||
gdk-pixbuf2 gnutar gsed intltool libffi libtool \
|
||||
openssl p5-xml-parser p7zip pkgconfig scons wget xz</pre>
|
||||
|
||||
<h5 id="requirements-macos-method-2">Method 2 - Rudix</h5>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../glib2-macports.mk
|
|
@ -1,15 +0,0 @@
|
|||
# This file is part of MXE. See LICENSE.md for licensing information.
|
||||
|
||||
PKG := gettext
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
$(PKG)_DEPS_$(BUILD) := libiconv
|
||||
|
||||
define $(PKG)_BUILD_$(BUILD)
|
||||
mkdir '$(1).build'
|
||||
cd '$(1).build' && '$(1)/configure' \
|
||||
--prefix='$(PREFIX)/$(TARGET)' \
|
||||
--disable-shared \
|
||||
--with-included-libxml
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' man1_MANS=
|
||||
$(MAKE) -C '$(1).build' -j 1 install man1_MANS=
|
||||
endef
|
|
@ -0,0 +1,22 @@
|
|||
# This file is part of MXE. See LICENSE.md for licensing information.
|
||||
|
||||
PKG := glib2-macports
|
||||
$(PKG)_WEBSITE := packages.macports.org
|
||||
$(PKG)_DESCR := glib2 pre-built macports package
|
||||
$(PKG)_IGNORE :=
|
||||
$(PKG)_VERSION := 2.50.3
|
||||
$(PKG)_CHECKSUM := b7327d69c8a32d2f4ec4e885c0de189618ca6cd54999c62d1de5d37d78c515cd
|
||||
$(PKG)_SUBDIR := .
|
||||
$(PKG)_FILE := glib2-$($(PKG)_VERSION)_0.darwin_16.x86_64.tbz2
|
||||
$(PKG)_URL := https://packages.macports.org/glib2/glib2-$($(PKG)_VERSION)_0.darwin_16.x86_64.tbz2
|
||||
$(PKG)_DEPS :=
|
||||
$(PKG)_TARGETS := $(BUILD)
|
||||
|
||||
glib_DEPS_$(BUILD) := $(PKG)
|
||||
gettext_BUILD_$(BUILD) :=
|
||||
libiconv_BUILD_$(BUILD) :=
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
echo 'manually update glib2-macports as necessary' >&2;
|
||||
echo $(glib2-macports_VERSION)
|
||||
endef
|
|
@ -1 +0,0 @@
|
|||
../gettext.mk
|
|
@ -1 +0,0 @@
|
|||
../libiconv.mk
|
|
@ -1,14 +0,0 @@
|
|||
# This file is part of MXE. See LICENSE.md for licensing information.
|
||||
|
||||
PKG := libiconv
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
$(PKG)_DEPS_$(BUILD) :=
|
||||
|
||||
define $(PKG)_BUILD_$(BUILD)
|
||||
mkdir '$(1).build'
|
||||
cd '$(1).build' && '$(1)/configure' \
|
||||
--prefix='$(PREFIX)/$(TARGET)' \
|
||||
--disable-shared
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' man1_MANS=
|
||||
$(MAKE) -C '$(1).build' -j 1 install man1_MANS=
|
||||
endef
|
|
@ -1 +0,0 @@
|
|||
../gettext.mk
|
|
@ -1 +0,0 @@
|
|||
../libiconv.mk
|
|
@ -1 +0,0 @@
|
|||
../gettext.mk
|
|
@ -1 +0,0 @@
|
|||
../libiconv.mk
|
|
@ -11,6 +11,9 @@ $(PKG)_URL := https://ftp.gnu.org/gnu/gettext/$($(PKG)_FILE)
|
|||
$(PKG)_URL_2 := https://ftpmirror.gnu.org/gettext/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc libiconv
|
||||
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
$(PKG)_DEPS_$(BUILD) := libiconv
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'https://ftp.gnu.org/gnu/gettext/' | \
|
||||
grep 'gettext-' | \
|
||||
|
@ -30,9 +33,9 @@ define $(PKG)_BUILD
|
|||
endef
|
||||
|
||||
define $(PKG)_BUILD_$(BUILD)
|
||||
mkdir '$(1).build'
|
||||
cd '$(1).build' && '$(1)/configure' \
|
||||
--prefix='$(PREFIX)/$(TARGET)'
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' man1_MANS=
|
||||
$(MAKE) -C '$(1).build' -j 1 install man1_MANS=
|
||||
# build and install the library
|
||||
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
|
||||
$(MXE_CONFIGURE_OPTS)
|
||||
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_DOCS)
|
||||
$(MAKE) -C '$(BUILD_DIR)' -j 1 install $(MXE_DISABLE_DOCS)
|
||||
endef
|
||||
|
|
104
src/glib.mk
104
src/glib.mk
|
@ -10,6 +10,9 @@ $(PKG)_SUBDIR := glib-$($(PKG)_VERSION)
|
|||
$(PKG)_FILE := glib-$($(PKG)_VERSION).tar.xz
|
||||
$(PKG)_URL := https://download.gnome.org/sources/glib/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc dbus gettext libffi libiconv pcre zlib
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
|
||||
$(PKG)_DEPS_$(BUILD) := gettext libiconv zlib
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'https://git.gnome.org/browse/glib/refs/tags' | \
|
||||
|
@ -18,28 +21,17 @@ define $(PKG)_UPDATE
|
|||
head -1
|
||||
endef
|
||||
|
||||
define $(PKG)_NATIVE_BUILD
|
||||
cp -Rp '$(1)' '$(1).native'
|
||||
define $(PKG)_BUILD_DARWIN
|
||||
# on darwin, use pre-built tools from macports with pinned
|
||||
# version set in plugins/native/darwin/glib2-macports
|
||||
$(call PREPARE_PKG_SOURCE,glib2-macports,$(BUILD_DIR))
|
||||
cp -Rp '$(BUILD_DIR)/opt/local/bin' '$(PREFIX)/$(TARGET)/'
|
||||
endef
|
||||
|
||||
# native build of libiconv (used by glib-genmarshal)
|
||||
cd '$(1).native' && $(call UNPACK_PKG_ARCHIVE,libiconv)
|
||||
$(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/libiconv-*.patch)),
|
||||
(cd '$(1).native/$(libiconv_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
|
||||
cd '$(1).native/$(libiconv_SUBDIR)' && ./configure \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
$(MAKE) -C '$(1).native/$(libiconv_SUBDIR)' -j '$(JOBS)'
|
||||
|
||||
# native build of zlib...
|
||||
cd '$(1).native' && $(call UNPACK_PKG_ARCHIVE,zlib)
|
||||
cd '$(1).native/$(zlib_SUBDIR)' && ./configure \
|
||||
--static
|
||||
$(MAKE) -C '$(1).native/$(zlib_SUBDIR)' -j '$(JOBS)'
|
||||
|
||||
# native build for glib-genmarshal, without gettext
|
||||
cd '$(1).native' && ./configure \
|
||||
--disable-shared \
|
||||
--prefix='$(PREFIX)/$(TARGET)' \
|
||||
define $(PKG)_BUILD_NATIVE
|
||||
# native build for glib-tools
|
||||
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
|
||||
$(MXE_CONFIGURE_OPTS) \
|
||||
--enable-regex \
|
||||
--disable-threads \
|
||||
--disable-selinux \
|
||||
|
@ -50,44 +42,38 @@ define $(PKG)_NATIVE_BUILD
|
|||
--disable-libmount \
|
||||
--with-libiconv=gnu \
|
||||
--with-pcre=internal \
|
||||
CPPFLAGS='-I$(1).native/$(libiconv_SUBDIR)/include -I$(1).native/$(zlib_SUBDIR)' \
|
||||
LDFLAGS='-L$(1).native/$(libiconv_SUBDIR)/lib/.libs -L$(1).native/$(zlib_SUBDIR)'
|
||||
$(SED) -i 's,#define G_ATOMIC.*,,' '$(1).native/config.h'
|
||||
$(MAKE) -C '$(1).native/glib' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).native/gthread' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).native/gmodule' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).native/gobject' -j '$(JOBS)' lib_LTLIBRARIES= install-exec
|
||||
$(MAKE) -C '$(1).native/gio/xdgmime' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(1).native/gio' -j '$(JOBS)' glib-compile-schemas
|
||||
$(MAKE) -C '$(1).native/gio' -j '$(JOBS)' glib-compile-resources
|
||||
$(INSTALL) -m755 '$(1).native/gio/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
|
||||
$(INSTALL) -m755 '$(1).native/gio/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
|
||||
CPPFLAGS='-I$(PREFIX)/$(TARGET)/include' \
|
||||
LDFLAGS='-L$(PREFIX)/$(TARGET)/lib'
|
||||
$(SED) -i 's,#define G_ATOMIC.*,,' '$(BUILD_DIR)/config.h'
|
||||
$(MAKE) -C '$(BUILD_DIR)/glib' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(BUILD_DIR)/gthread' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' lib_LTLIBRARIES= install-exec
|
||||
$(MAKE) -C '$(BUILD_DIR)/gio/xdgmime' -j '$(JOBS)'
|
||||
$(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' glib-compile-schemas
|
||||
$(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' glib-compile-resources
|
||||
$(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
|
||||
$(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
|
||||
endef
|
||||
|
||||
define $(PKG)_SYMLINK
|
||||
ln -sf `which glib-genmarshal` '$(PREFIX)/$(TARGET)/bin/'
|
||||
ln -sf `which glib-compile-schemas` '$(PREFIX)/$(TARGET)/bin/'
|
||||
ln -sf `which glib-compile-resources` '$(PREFIX)/$(TARGET)/bin/'
|
||||
define $(PKG)_BUILD_$(BUILD)
|
||||
# glib tools need to be close to glib-cross version.
|
||||
# easy to build on linux, but error-prone on darwin (and freebsd?)
|
||||
$(if $(findstring darwin, $(OS_SHORT_NAME)), \
|
||||
$($(PKG)_BUILD_DARWIN), \
|
||||
$($(PKG)_BUILD_NATIVE))
|
||||
endef
|
||||
|
||||
define $(PKG)_BUILD
|
||||
cd '$(1)' && NOCONFIGURE=true ./autogen.sh
|
||||
rm -f '$(PREFIX)/$(TARGET)/bin/glib-*'
|
||||
|
||||
# Detecting if these GLib tools are already available on host machine,
|
||||
# either because of a host package installation or from an earlier MXE
|
||||
# installation of GLib.
|
||||
# If it is installed, we symlink it into the MXE bin/.
|
||||
# If not, we build it.
|
||||
$(if $(findstring y,\
|
||||
$(shell [ -x "`which glib-genmarshal`" ] && \
|
||||
[ -x "`which glib-compile-schemas`" ] && \
|
||||
[ -x "`which glib-compile-resources`" ] && echo y)), \
|
||||
$($(PKG)_SYMLINK), \
|
||||
$($(PKG)_NATIVE_BUILD))
|
||||
# other packages expect glib-tools in $(TARGET)/bin
|
||||
rm -f '$(PREFIX)/$(TARGET)/bin/glib-*'
|
||||
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-genmarshal' '$(PREFIX)/$(TARGET)/bin/'
|
||||
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
|
||||
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
|
||||
|
||||
# cross build
|
||||
cd '$(1)' && ./configure \
|
||||
cd '$(SOURCE_DIR)' && NOCONFIGURE=true ./autogen.sh
|
||||
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
|
||||
$(MXE_CONFIGURE_OPTS) \
|
||||
--with-threads=win32 \
|
||||
--with-pcre=system \
|
||||
|
@ -98,11 +84,11 @@ define $(PKG)_BUILD
|
|||
GLIB_GENMARSHAL='$(PREFIX)/$(TARGET)/bin/glib-genmarshal' \
|
||||
GLIB_COMPILE_SCHEMAS='$(PREFIX)/$(TARGET)/bin/glib-compile-schemas' \
|
||||
GLIB_COMPILE_RESOURCES='$(PREFIX)/$(TARGET)/bin/glib-compile-resources'
|
||||
$(MAKE) -C '$(1)/glib' -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(1)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(1)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(1)/gobject' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(1)/gio' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= MISC_STUFF=
|
||||
$(MAKE) -C '$(1)' -j '$(JOBS)' install-pkgconfigDATA
|
||||
$(MAKE) -C '$(1)/m4macros' install
|
||||
$(MAKE) -C '$(BUILD_DIR)/glib' -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(BUILD_DIR)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
|
||||
$(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= MISC_STUFF=
|
||||
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install-pkgconfigDATA
|
||||
$(MAKE) -C '$(BUILD_DIR)/m4macros' install
|
||||
endef
|
||||
|
|
|
@ -9,6 +9,9 @@ $(PKG)_SUBDIR := libiconv-$($(PKG)_VERSION)
|
|||
$(PKG)_FILE := libiconv-$($(PKG)_VERSION).tar.gz
|
||||
$(PKG)_URL := https://ftp.gnu.org/gnu/libiconv/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
|
||||
$(PKG)_DEPS_$(BUILD) :=
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'https://www.gnu.org/software/libiconv/' | \
|
||||
|
@ -32,9 +35,9 @@ define $(PKG)_BUILD
|
|||
endef
|
||||
|
||||
define $(PKG)_BUILD_$(BUILD)
|
||||
mkdir '$(1).build'
|
||||
cd '$(1).build' && '$(1)/configure' \
|
||||
--prefix='$(PREFIX)/$(TARGET)'
|
||||
$(MAKE) -C '$(1).build' -j '$(JOBS)' man1_MANS=
|
||||
$(MAKE) -C '$(1).build' -j 1 install man1_MANS=
|
||||
# build and install the library
|
||||
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
|
||||
$(MXE_CONFIGURE_OPTS)
|
||||
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_DOCS)
|
||||
$(MAKE) -C '$(BUILD_DIR)' -j 1 install $(MXE_DISABLE_DOCS)
|
||||
endef
|
||||
|
|
|
@ -10,9 +10,10 @@ $(PKG)_FILE := zlib-$($(PKG)_VERSION).tar.xz
|
|||
$(PKG)_URL := https://zlib.net/$($(PKG)_FILE)
|
||||
$(PKG)_URL_2 := https://$(SOURCEFORGE_MIRROR)/project/libpng/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
|
||||
$(PKG)_DEPS := gcc
|
||||
$(PKG)_DEPS_$(BUILD) :=
|
||||
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
|
||||
|
||||
$(PKG)_DEPS_$(BUILD) :=
|
||||
|
||||
define $(PKG)_UPDATE
|
||||
$(WGET) -q -O- 'https://zlib.net/' | \
|
||||
$(SED) -n 's,.*zlib-\([0-9][^>]*\)\.tar.*,\1,ip' | \
|
||||
|
|
Loading…
Reference in New Issue