- added experimental lunix32 cross compile support

This commit is contained in:
SoftCoder 2014-01-08 21:19:14 -08:00
parent 5e5f22e7ab
commit f72b7046e5
2 changed files with 41 additions and 2 deletions

View File

@ -19,8 +19,9 @@ MAKE_ONLY=0
CLANG_FORCED=0
WANT_STATIC_LIBS="-DWANT_STATIC_LIBS=ON"
LUA_FORCED_VERSION=0
FORCE_32BIT_CROSS_COMPILE=0
while getopts "c:dfhl:mn" option; do
while getopts "c:dfhl:mnx" option; do
case "${option}" in
c)
CPU_COUNT=${OPTARG}
@ -36,7 +37,7 @@ while getopts "c:dfhl:mn" option; do
;;
h)
echo "Usage: $0 <option>"
echo " where <option> can be: -c x, -d, -f, -m, -n, -h, -l x"
echo " where <option> can be: -c x, -d, -f, -m, -n, -h, -l x, -x"
echo " option descriptions:"
echo " -c x : Force the cpu / cores count to x - example: -c 4"
echo " -d : Force DYNAMIC compile (do not want static libs)"
@ -44,6 +45,8 @@ while getopts "c:dfhl:mn" option; do
echo " -l x : Force using LUA version x - example: -l 51"
echo " -m : Force running CMAKE only to create Make files (do not compile)"
echo " -n : Force running MAKE only to compile (assume CMAKE already built make files)"
echo " -x : Force cross compiling on x64 linux to produce an x86 32 bit binary"
echo " -h : Display this help usage"
exit 1
@ -60,6 +63,11 @@ while getopts "c:dfhl:mn" option; do
MAKE_ONLY=1
# echo "${option} value: ${OPTARG}"
;;
x)
FORCE_32BIT_CROSS_COMPILE=1
# echo "${option} value: ${OPTARG}"
;;
\?)
echo "Script Invalid option: -$OPTARG" >&2
exit 1
@ -191,6 +199,14 @@ if [ $LUA_FORCED_VERSION != 0 ]; then
fi
fi
if [ $FORCE_32BIT_CROSS_COMPILE != 0 ]; then
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCMAKE_TOOLCHAIN_FILE=../mk/cmake/Modules/Toolchain-linux32.cmake"
#LIBDIR_32bit='/usr/lib32/'
#export LD_LIBRARY_PATH="${LIBDIR_32bit}:${LD_LIBRARY_PATH}"
fi
if [ $MAKE_ONLY = 0 ]; then
echo "Calling cmake with EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}"
cmake -DCMAKE_INSTALL_PREFIX='' -DWANT_DEV_OUTPATH=ON $WANT_STATIC_LIBS -DBUILD_MEGAGLEST_TESTS=ON -DBREAKPAD_ROOT=$BREAKPAD_ROOT $EXTRA_CMAKE_OPTIONS ..

View File

@ -0,0 +1,23 @@
# Target operating system and architecture
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR x86 )
# C/C++ compilers
#set( CMAKE_C_COMPILER gcc -m32 )
#set( CMAKE_CXX_COMPILER g++ -m32 )
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" )
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" )
#set( CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -m32)
#set( CMAKE_MODULE_LINKER_FLAGS ${CMAKE_MODULE_LINKER_FLAGS} -m32)
#set( CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} -m32)
# Only look for libraries in lib32
set( CMAKE_SYSTEM_LIBRARY_PATH /lib32 /usr/lib32 /usr/local/lib32 )
set_property( GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF )
set( CMAKE_IGNORE_PATH /lib /usr/lib /usr/local/lib )
#set(CMAKE_FIND_ROOT_PATH /usr/lib32)
#set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)