summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2015-09-07 12:44:18 (GMT)
committerTony Theodore <tonyt@logyst.com>2015-09-12 03:43:04 (GMT)
commit19d1be38aeedcbbb6219c17ad09464f655f39d02 (patch)
tree6d49ea4a5b78c026524fa8baa11e6190c11aab01
parent4d858c468bb9024b46680c4e92fd7a7b8b5e018f (diff)
downloadmxe-19d1be38aeedcbbb6219c17ad09464f655f39d02.zip
mxe-19d1be38aeedcbbb6219c17ad09464f655f39d02.tar.gz
mxe-19d1be38aeedcbbb6219c17ad09464f655f39d02.tar.bz2
Move general configuration from pkgconf to mxe-conf and add cmake/mxe-conf.d
-rw-r--r--Makefile1
-rw-r--r--src/mxe-conf.mk61
-rw-r--r--src/pkgconf.mk55
3 files changed, 66 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index 4bce409..ffdaa33 100644
--- a/Makefile
+++ b/Makefile
@@ -403,6 +403,7 @@ build-only-$(1)_$(3): BUILD_$(if $(findstring shared,$(3)),SHARED,STATIC) = TRUE
build-only-$(1)_$(3): LIB_SUFFIX = $(if $(findstring shared,$(3)),dll,a)
build-only-$(1)_$(3): BITS = $(if $(findstring x86_64,$(3)),64,32)
build-only-$(1)_$(3): CMAKE_TOOLCHAIN_FILE = $(PREFIX)/$(3)/share/cmake/mxe-conf.cmake
+build-only-$(1)_$(3): CMAKE_TOOLCHAIN_DIR = $(PREFIX)/$(3)/share/cmake/mxe-conf.d
build-only-$(1)_$(3):
$(if $(value $(call LOOKUP_PKG_RULE,$(1),BUILD,$(3))),
uname -a
diff --git a/src/mxe-conf.mk b/src/mxe-conf.mk
index 8086bc7..d6e0e61 100644
--- a/src/mxe-conf.mk
+++ b/src/mxe-conf.mk
@@ -4,3 +4,64 @@
PKG := mxe-conf
$(PKG)_VERSION := 1
$(PKG)_UPDATE := echo 1
+
+define $(PKG)_BUILD_COMMON
+ # install target-specific autotools config file
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/share'
+ echo "ac_cv_build=$(BUILD)" > '$(PREFIX)/$(TARGET)/share/config.site'
+
+ # install config.guess for general use
+ $(INSTALL) -d '$(PREFIX)/bin'
+ $(INSTALL) -m755 '$(EXT_DIR)/config.guess' '$(PREFIX)/bin/'
+
+ # create the CMake toolchain file
+ # individual packages (e.g. hdf5) should add their
+ # own files under CMAKE_TOOLCHAIN_DIR
+ [ -d '$(CMAKE_TOOLCHAIN_DIR)' ] || mkdir -p '$(CMAKE_TOOLCHAIN_DIR)'
+ (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
+ echo 'set(MSYS 1)'; \
+ echo 'set(BUILD_SHARED_LIBS $(if $(BUILD_SHARED),ON,OFF))'; \
+ echo 'set(LIBTYPE $(if $(BUILD_SHARED),SHARED,STATIC))'; \
+ echo 'set(CMAKE_BUILD_TYPE Release)'; \
+ echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \
+ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \
+ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \
+ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \
+ echo 'set(CMAKE_C_COMPILER $(PREFIX)/bin/$(TARGET)-gcc)'; \
+ echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \
+ echo 'set(CMAKE_Fortran_COMPILER $(PREFIX)/bin/$(TARGET)-gfortran)'; \
+ echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \
+ echo 'set(CMAKE_MODULE_PATH "$(PWD)/src/cmake" $${CMAKE_MODULE_PATH}) # For mxe FindPackage scripts'; \
+ echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \
+ echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")'; \
+ echo 'set(CMAKE_CROSS_COMPILING ON) # Workaround for http://www.cmake.org/Bug/view.php?id=14075'; \
+ echo 'set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> -o <OBJECT> <SOURCE>") # Workaround for buggy windres rules'; \
+ echo ''; \
+ echo 'file(GLOB mxe_cmake_files'; \
+ echo ' "$(CMAKE_TOOLCHAIN_DIR)/*.cmake"'; \
+ echo ')'; \
+ echo 'foreach(mxe_cmake_file $${mxe_cmake_files})'; \
+ echo ' include($${mxe_cmake_file})'; \
+ echo 'endforeach()'; \
+ ) > '$(CMAKE_TOOLCHAIN_FILE)'
+endef
+
+define $(PKG)_BUILD
+ $($(PKG)_BUILD_COMMON)
+
+ # create pkg-config files for OpenGL/GLU
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
+ (echo 'Name: gl'; \
+ echo 'Version: 0'; \
+ echo 'Description: OpenGL'; \
+ echo 'Libs: -lopengl32';) \
+ > '$(PREFIX)/$(TARGET)/lib/pkgconfig/gl.pc'
+
+ (echo 'Name: glu'; \
+ echo 'Version: 0'; \
+ echo 'Description: OpenGL'; \
+ echo 'Libs: -lglu32';) \
+ > '$(PREFIX)/$(TARGET)/lib/pkgconfig/glu.pc'
+endef
+
+$(PKG)_BUILD_$(BUILD) = $($(PKG)_BUILD_COMMON)
diff --git a/src/pkgconf.mk b/src/pkgconf.mk
index 9a23619..084994c 100644
--- a/src/pkgconf.mk
+++ b/src/pkgconf.mk
@@ -19,68 +19,21 @@ define $(PKG)_UPDATE
echo $(pkgconf_VERSION)
endef
-define $(PKG)_BUILD_COMMON
+define $(PKG)_BUILD
cd '$(1)' && ./autogen.sh
cd '$(1)' && ./configure \
--prefix='$(PREFIX)/$(TARGET)'
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
- # install target-specific autotools config file
- $(INSTALL) -d '$(PREFIX)/$(TARGET)/share'
- echo "ac_cv_build=$(BUILD)" > '$(PREFIX)/$(TARGET)/share/config.site'
-
- # install config.guess for general use
- $(INSTALL) -d '$(PREFIX)/bin'
- $(INSTALL) -m755 '$(EXT_DIR)/config.guess' '$(PREFIX)/bin/'
-
# create pkg-config script
(echo '#!/bin/sh'; \
echo 'PKG_CONFIG_PATH="$(PREFIX)/$(TARGET)/qt5/lib/pkgconfig":"$$PKG_CONFIG_PATH_$(subst .,_,$(subst -,_,$(TARGET)))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec '$(PREFIX)/$(TARGET)/bin/pkgconf' $(if $(BUILD_STATIC),--static) "$$@"') \
> '$(PREFIX)/bin/$(TARGET)-pkg-config'
chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config'
- # create the CMake toolchain file
- # individual packages (e.g. hdf5) should remove/append their own entries
- [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))'
- (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
- echo 'set(MSYS 1)'; \
- echo 'set(BUILD_SHARED_LIBS $(if $(BUILD_SHARED),ON,OFF))'; \
- echo 'set(LIBTYPE $(if $(BUILD_SHARED),SHARED,STATIC))'; \
- echo 'set(CMAKE_BUILD_TYPE Release)'; \
- echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \
- echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \
- echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \
- echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \
- echo 'set(CMAKE_C_COMPILER $(PREFIX)/bin/$(TARGET)-gcc)'; \
- echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \
- echo 'set(CMAKE_Fortran_COMPILER $(PREFIX)/bin/$(TARGET)-gfortran)'; \
- echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \
- echo 'set(CMAKE_MODULE_PATH "$(PWD)/src/cmake" $${CMAKE_MODULE_PATH}) # For mxe FindPackage scripts'; \
- echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \
- echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")'; \
- echo 'set(CMAKE_CROSS_COMPILING ON) # Workaround for http://www.cmake.org/Bug/view.php?id=14075'; \
- echo 'set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> -o <OBJECT> <SOURCE>") # Workaround for buggy windres rules'; \
- echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)'; \
- ) > '$(CMAKE_TOOLCHAIN_FILE)'
-endef
-
-define $(PKG)_BUILD
- $($(PKG)_BUILD_COMMON)
-
- # create pkg-config files for OpenGL/GLU
- $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
- (echo 'Name: gl'; \
- echo 'Version: 0'; \
- echo 'Description: OpenGL'; \
- echo 'Libs: -lopengl32';) \
- > '$(PREFIX)/$(TARGET)/lib/pkgconfig/gl.pc'
+ # create cmake file
+ echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)' \
+ > '$(CMAKE_TOOLCHAIN_DIR)/pkgconf.cmake'
- (echo 'Name: glu'; \
- echo 'Version: 0'; \
- echo 'Description: OpenGL'; \
- echo 'Libs: -lglu32';) \
- > '$(PREFIX)/$(TARGET)/lib/pkgconfig/glu.pc'
endef
-
-$(PKG)_BUILD_$(BUILD) = $($(PKG)_BUILD_COMMON)