# HG changeset patch # User Tony Theodore # Date 1300298700 -39600 # Node ID 9577f70222f899edfc03921ba629a12d7296b67d # Parent 232b3b5ab20cce83f98679a196428e4c076b429e add cmake toolchain file and simplify build rules of relevant packages diff -r 232b3b5ab20c -r 9577f70222f8 Makefile --- a/Makefile Wed Mar 16 08:57:09 2011 +0100 +++ b/Makefile Thu Mar 17 05:05:00 2011 +1100 @@ -27,6 +27,8 @@ $(MAKE) openssl $(PATCH) $(PERL) pkg-config \ scons $(SED) unzip wget xz yasm +CMAKE_TOOLCHAIN_FILE := $(PREFIX)/$(TARGET)/share/cmake/mingw-cross-env-conf.cmake + # unexport any environment variables that might cause trouble unexport AR CC CFLAGS C_INCLUDE_PATH CPATH CPLUS_INCLUDE_PATH CPP unexport CPPFLAGS CROSS CXX CXXCPP CXXFLAGS EXEEXT EXTRA_CFLAGS diff -r 232b3b5ab20c -r 9577f70222f8 src/gcc.mk --- a/src/gcc.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/gcc.mk Thu Mar 17 05:05:00 2011 +1100 @@ -54,4 +54,20 @@ echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config --static "$$@"') \ > '$(PREFIX)/bin/$(TARGET)-pkg-config' chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' + + # create the CMake toolchain file + [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' + (echo 'set(BUILD_SHARED_LIBS OFF)'; \ + echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ + 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_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \ + echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)'; \ + echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \ + echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ + > '$(CMAKE_TOOLCHAIN_FILE)' endef diff -r 232b3b5ab20c -r 9577f70222f8 src/openal.mk --- a/src/openal.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/openal.mk Thu Mar 17 05:05:00 2011 +1100 @@ -19,19 +19,8 @@ endef define $(PKG)_BUILD - cd '$(1)/build' && cmake .. \ - -DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \ - -DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \ - -DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \ - -DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \ - -DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \ - -DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \ - -DCMAKE_BUILD_TYPE=Release \ + cd '$(1)/build' && cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=$(CMAKE_TOOLCHAIN_FILE) \ -DLIBTYPE=STATIC $(MAKE) -C '$(1)/build' -j '$(JOBS)' install diff -r 232b3b5ab20c -r 9577f70222f8 src/openscenegraph.mk --- a/src/openscenegraph.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/openscenegraph.mk Thu Mar 17 05:05:00 2011 +1100 @@ -22,24 +22,13 @@ endef define $(PKG)_BUILD - cd '$(1)' && cmake . \ - -DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \ - -DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \ - -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \ - -DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \ - -DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \ - -DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \ - -DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_HAVE_PTHREAD_H=OFF \ - -DDYNAMIC_OPENTHREADS=OFF \ - -DDYNAMIC_OPENSCENEGRAPH=OFF \ - -DBUILD_OSG_APPLICATIONS=OFF \ + cd '$(1)' && cmake . \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \ + -DCMAKE_HAVE_PTHREAD_H=OFF \ + -DDYNAMIC_OPENTHREADS=OFF \ + -DDYNAMIC_OPENSCENEGRAPH=OFF \ + -DBUILD_OSG_APPLICATIONS=OFF \ -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE=1 $(MAKE) -C '$(1)' -j '$(JOBS)' install endef diff -r 232b3b5ab20c -r 9577f70222f8 src/physfs.mk --- a/src/physfs.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/physfs.mk Thu Mar 17 05:05:00 2011 +1100 @@ -19,27 +19,16 @@ endef define $(PKG)_BUILD - cd '$(1)' && cmake . \ - -DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \ - -DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \ - -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \ - -DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \ - -DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \ - -DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \ - -DCMAKE_BUILD_TYPE=Release \ - -DPHYSFS_BUILD_SHARED=FALSE \ - -DPHYSFS_INTERNAL_ZLIB=FALSE \ - -DPHYSFS_BUILD_TEST=FALSE \ + cd '$(1)' && cmake . \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DPHYSFS_BUILD_SHARED=FALSE \ + -DPHYSFS_INTERNAL_ZLIB=FALSE \ + -DPHYSFS_BUILD_TEST=FALSE \ -DPHYSFS_BUILD_WX_TEST=FALSE $(MAKE) -C '$(1)' -j '$(JOBS)' install '$(TARGET)-gcc' \ - -W -Wall -Werror -ansi -pedantic -std=c99\ + -W -Wall -Werror -ansi -pedantic -std=c99 \ '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-physfs.exe' \ -lphysfs -lz endef diff -r 232b3b5ab20c -r 9577f70222f8 src/taglib.mk --- a/src/taglib.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/taglib.mk Thu Mar 17 05:05:00 2011 +1100 @@ -20,19 +20,8 @@ define $(PKG)_BUILD mkdir '$(1)/build' - cd '$(1)/build' && cmake .. \ - -DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \ - -DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \ - -DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \ - -DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \ - -DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \ - -DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \ - -DCMAKE_BUILD_TYPE=Release \ + cd '$(1)/build' && cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=$(CMAKE_TOOLCHAIN_FILE) \ -DENABLE_STATIC=ON $(MAKE) -C '$(1)/build' -j '$(JOBS)' install endef diff -r 232b3b5ab20c -r 9577f70222f8 src/vigra.mk --- a/src/vigra.mk Wed Mar 16 08:57:09 2011 +0100 +++ b/src/vigra.mk Thu Mar 17 05:05:00 2011 +1100 @@ -27,23 +27,12 @@ $(SED) -i 's,\bSHARED\b,STATIC,' '$(1)/config/VIGRA_ADD_NUMPY_MODULE.cmake' $(SED) -i 's,\bSHARED\b,STATIC,' '$(1)/vigranumpy/test/CMakeLists.txt' mkdir '$(1)/build' - cd '$(1)/build' && cmake .. \ - -DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \ - -DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \ - -DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \ - -DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \ - -DPKG_CONFIG_EXECUTABLE=$(TARGET)-pkg-config \ - -DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \ - -DCMAKE_BUILD_TYPE=Release \ - -DLIBTYPE=STATIC \ - -DVIGRA_STATIC_LIB=1 \ - -DWITH_HDF5=OFF \ - -DWITH_VIGRANUMPY=OFF \ + cd '$(1)/build' && cmake .. \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DLIBTYPE=STATIC \ + -DVIGRA_STATIC_LIB=1 \ + -DWITH_HDF5=OFF \ + -DWITH_VIGRANUMPY=OFF \ -DWITH_VALGRIND=OFF $(MAKE) -C '$(1)/build' -j '$(JOBS)' install