diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/Variables.cmake | 15 | ||||
| -rw-r--r-- | indra/llcommon/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | indra/llplugin/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | indra/media_plugins/base/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | indra/media_plugins/example/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | indra/media_plugins/gstreamer010/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | indra/media_plugins/webkit/CMakeLists.txt | 8 | 
7 files changed, 57 insertions, 9 deletions
| diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index bfaf3f4f26..230e228c62 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -54,19 +54,20 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")    set(LINUX ON BOOl FORCE)    # If someone has specified a word size, use that to determine the -  # architecture.  Otherwise, let the architecture specify the word size. +  # architecture.  Otherwise, let the compiler specify the word size. +  # Using uname will break under chroots and other cross arch compiles. RC    if (WORD_SIZE EQUAL 32)      set(ARCH i686)    elseif (WORD_SIZE EQUAL 64)      set(ARCH x86_64)    else (WORD_SIZE EQUAL 32) -    execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ -                    OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) -    if (ARCH STREQUAL x86_64) -      set(WORD_SIZE 64) -    else (ARCH STREQUAL x86_64) +    if(CMAKE_SIZEOF_VOID_P MATCHES 4) +      set(ARCH i686)        set(WORD_SIZE 32) -    endif (ARCH STREQUAL x86_64) +    else(CMAKE_SIZEOF_VOID_P MATCHES 4) +      set(ARCH x86_64) +      set(WORD_SIZE 64) +    endif(CMAKE_SIZEOF_VOID_P MATCHES 4)    endif (WORD_SIZE EQUAL 32)    set(LL_ARCH ${ARCH}_linux) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 2a036df06e..78549bfcba 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -251,8 +251,15 @@ set_source_files_properties(${llcommon_HEADER_FILES}  list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES})  if(LLCOMMON_LINK_SHARED) -    add_library (llcommon SHARED ${llcommon_SOURCE_FILES}) -    ll_stage_sharedlib(llcommon) +  add_library (llcommon SHARED ${llcommon_SOURCE_FILES}) +  if(NOT WORD_SIZE EQUAL 32) +    if(WINDOWS) +      add_definitions(/FIXED:NO) +    else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +      add_definitions(-fPIC) +    endif(WINDOWS) +  endif(NOT WORD_SIZE EQUAL 32) +  ll_stage_sharedlib(llcommon)  else(LLCOMMON_LINK_SHARED)      add_library (llcommon ${llcommon_SOURCE_FILES})  endif(LLCOMMON_LINK_SHARED) diff --git a/indra/llplugin/CMakeLists.txt b/indra/llplugin/CMakeLists.txt index fdd510b389..d3a73058c4 100644 --- a/indra/llplugin/CMakeLists.txt +++ b/indra/llplugin/CMakeLists.txt @@ -51,6 +51,14 @@ set(llplugin_HEADER_FILES  set_source_files_properties(${llplugin_HEADER_FILES}                              PROPERTIES HEADER_FILE_ONLY TRUE) +if(NOT WORD_SIZE EQUAL 32) +  if(WINDOWS) +    add_definitions(/FIXED:NO) +  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +    add_definitions(-fPIC) +  endif(WINDOWS) +endif(NOT WORD_SIZE EQUAL 32) +  list(APPEND llplugin_SOURCE_FILES ${llplugin_HEADER_FILES})  add_library (llplugin ${llplugin_SOURCE_FILES}) diff --git a/indra/media_plugins/base/CMakeLists.txt b/indra/media_plugins/base/CMakeLists.txt index f8d2dabc6c..3ad94b0c64 100644 --- a/indra/media_plugins/base/CMakeLists.txt +++ b/indra/media_plugins/base/CMakeLists.txt @@ -25,6 +25,14 @@ include_directories(  ### media_plugin_base +if(NOT WORD_SIZE EQUAL 32) +  if(WINDOWS) +    add_definitions(/FIXED:NO) +  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +    add_definitions(-fPIC) +  endif(WINDOWS) +endif(NOT WORD_SIZE EQUAL 32) +  set(media_plugin_base_SOURCE_FILES      media_plugin_base.cpp  ) diff --git a/indra/media_plugins/example/CMakeLists.txt b/indra/media_plugins/example/CMakeLists.txt index 4d82f2747c..56cefde4bd 100644 --- a/indra/media_plugins/example/CMakeLists.txt +++ b/indra/media_plugins/example/CMakeLists.txt @@ -29,6 +29,14 @@ include_directories(  ### media_plugin_example +if(NOT WORD_SIZE EQUAL 32) +  if(WINDOWS) +    add_definitions(/FIXED:NO) +  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +    add_definitions(-fPIC) +  endif(WINDOWS) +endif(NOT WORD_SIZE EQUAL 32) +  set(media_plugin_example_SOURCE_FILES      media_plugin_example.cpp      ) diff --git a/indra/media_plugins/gstreamer010/CMakeLists.txt b/indra/media_plugins/gstreamer010/CMakeLists.txt index 9f0ff654fc..9bb5da7974 100644 --- a/indra/media_plugins/gstreamer010/CMakeLists.txt +++ b/indra/media_plugins/gstreamer010/CMakeLists.txt @@ -30,6 +30,14 @@ include_directories(  ### media_plugin_gstreamer010 +if(NOT WORD_SIZE EQUAL 32) +  if(WINDOWS) +    add_definitions(/FIXED:NO) +  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +    add_definitions(-fPIC) +  endif(WINDOWS) +endif(NOT WORD_SIZE EQUAL 32) +  set(media_plugin_gstreamer010_SOURCE_FILES      media_plugin_gstreamer010.cpp      llmediaimplgstreamer_syms.cpp diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index d576638dd7..3a1df13645 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -32,6 +32,14 @@ include_directories(  ### media_plugin_webkit +if(NOT WORD_SIZE EQUAL 32) +  if(WINDOWS) +    add_definitions(/FIXED:NO) +  else(WINDOWS) # not windows therefore gcc LINUX and DARWIN +    add_definitions(-fPIC) +  endif(WINDOWS) +endif(NOT WORD_SIZE EQUAL 32) +  set(media_plugin_webkit_SOURCE_FILES      media_plugin_webkit.cpp      ) | 
