From c7c34d9ad2aade9dbf00fe58c46ac440f8af6dc9 Mon Sep 17 00:00:00 2001
From: Christian Goetze <cg@lindenlab.com>
Date: Fri, 10 Apr 2009 01:14:30 +0000
Subject: [PATCH] Working around DEV-30401 by yanking the etch 32bit build code
 until the viewer also builds on etch

---
 indra/cmake/00-Common.cmake |  8 --------
 indra/cmake/MySQL.cmake     | 21 +++++++++------------
 indra/cmake/Variables.cmake | 21 ++-------------------
 indra/develop.py            | 29 ++++++-----------------------
 4 files changed, 17 insertions(+), 62 deletions(-)

diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index ad7529ea0a..42f43f9d4e 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -202,14 +202,6 @@ if (LINUX OR DARWIN)
 
   set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}")
   set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}")
-
-  if (WORD_SIZE EQUAL 32)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
-  elseif (WORD_SIZE EQUAL 64)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
-  endif (WORD_SIZE EQUAL 32)
 endif (LINUX OR DARWIN)
 
 
diff --git a/indra/cmake/MySQL.cmake b/indra/cmake/MySQL.cmake
index e591fbc3d8..e124ebb45e 100644
--- a/indra/cmake/MySQL.cmake
+++ b/indra/cmake/MySQL.cmake
@@ -1,20 +1,14 @@
 # -*- cmake -*-
 include(Linking)
 include(Prebuilt)
+# We don't prebuild our own MySQL client library.
 
 use_prebuilt_binary(mysql)
 
-if (LINUX)
-  if (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")
-    set(MYSQL_LIBRARIES mysqlclient)
-    set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
-  else (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")
-    # Use the native MySQL library on a 64-bit system.
-    set(MYSQL_FIND_QUIETLY ON)
-    set(MYSQL_FIND_REQUIRED ON)
-    include(FindMySQL)
-  endif (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")
-elseif (WINDOWS)
+set(MYSQL_FIND_QUIETLY ON)
+set(MYSQL_FIND_REQUIRED ON)
+
+if (WINDOWS)
   set(MYSQL_LIBRARIES mysqlclient)
   set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
 elseif (DARWIN)
@@ -23,4 +17,7 @@ elseif (DARWIN)
     optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libmysqlclient.a
     debug ${ARCH_PREBUILT_DIRS_DEBUG}/libmysqlclient.a
     )
-endif (LINUX)
+else (WINDOWS)
+    set(MYSQL_FIND_REQUIRED)
+    include(FindMySQL)
+endif (WINDOWS)
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index c0b4191852..5868e4d07e 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -45,28 +45,12 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
   set(ARCH i686)
   set(LL_ARCH ${ARCH}_win32)
   set(LL_ARCH_DIR ${ARCH}-win32)
-  set(WORD_SIZE 32)
 endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 
 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.
-  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)
-      set(WORD_SIZE 64)
-    endif (ARCH STREQUAL x86_64)
-  endif (WORD_SIZE EQUAL 32)
-
+  execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/
+                  OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
   set(LL_ARCH ${ARCH}_linux)
   set(LL_ARCH_DIR ${ARCH}-linux)
 endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
@@ -89,7 +73,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
   endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
   set(LL_ARCH ${ARCH}_darwin)
   set(LL_ARCH_DIR universal-darwin)
-  set(WORD_SIZE 32)
 endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 
 # Default deploy grid
diff --git a/indra/develop.py b/indra/develop.py
index cc115ffaa7..d1875c9fb2 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -79,7 +79,6 @@ class PlatformSetup(object):
     project_name = 'SecondLife'
     distcc = True
     cmake_opts = []
-    word_size = 32
 
     def __init__(self):
         self.script_dir = os.path.realpath(
@@ -121,7 +120,6 @@ class PlatformSetup(object):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
-            word_size=self.word_size,
             type=self.build_type.upper(),
             )
         #if simple:
@@ -129,7 +127,6 @@ class PlatformSetup(object):
         return ('cmake -DCMAKE_BUILD_TYPE:STRING=%(type)s '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
-                '-DWORD_SIZE:STRING=%(word_size)s '
                 '-G %(generator)r %(opts)s %(dir)r' % args)
 
     def run_cmake(self, args=[]):
@@ -232,8 +229,6 @@ class UnixSetup(PlatformSetup):
             cpu = 'i686'
         elif cpu == 'Power Macintosh':
             cpu = 'ppc'
-        elif cpu == 'x86_64' and self.word_size == 32:
-            cpu = 'i686'
         return cpu
 
     def run(self, command, name=None):
@@ -268,7 +263,8 @@ class LinuxSetup(UnixSetup):
         return 'linux'
 
     def build_dirs(self):
-        # Only build the server code if we have it.
+        # Only build the server code if (a) we have it and (b) we're
+        # on 32-bit x86.
         platform_build = '%s-%s' % (self.platform(), self.build_type.lower())
 
         if self.arch() == 'i686' and self.is_internal_tree():
@@ -289,8 +285,7 @@ class LinuxSetup(UnixSetup):
             standalone=self.standalone,
             unattended=self.unattended,
             type=self.build_type.upper(),
-            project_name=self.project_name,
-            word_size=self.word_size,
+            project_name=self.project_name
             )
         if not self.is_internal_tree():
             args.update({'cxx':'g++', 'server':'OFF', 'viewer':'ON'})
@@ -316,7 +311,6 @@ class LinuxSetup(UnixSetup):
                 '-G %(generator)r -DSERVER:BOOL=%(server)s '
                 '-DVIEWER:BOOL=%(viewer)s -DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
-                '-DWORD_SIZE:STRING=%(word_size)s '
                 '-DROOT_PROJECT_NAME:STRING=%(project_name)s '
                 '%(opts)s %(dir)r')
                % args)
@@ -419,11 +413,10 @@ class DarwinSetup(UnixSetup):
             generator=self.generator,
             opts=quote(opts),
             standalone=self.standalone,
-            word_size=self.word_size,
             unattended=self.unattended,
             project_name=self.project_name,
             universal='',
-            type=self.build_type.upper(),
+            type=self.build_type.upper()
             )
         if self.unattended == 'ON':
             args['universal'] = '-DCMAKE_OSX_ARCHITECTURES:STRING=\'i386;ppc\''
@@ -433,7 +426,6 @@ class DarwinSetup(UnixSetup):
                 '-DCMAKE_BUILD_TYPE:STRING=%(type)s '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
-                '-DWORD_SIZE:STRING=%(word_size)s '
                 '-DROOT_PROJECT_NAME:STRING=%(project_name)s '
                 '%(universal)s '
                 '%(opts)s %(dir)r' % args)
@@ -513,15 +505,13 @@ class WindowsSetup(PlatformSetup):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
-            project_name=self.project_name,
-            word_size=self.word_size,
+            project_name=self.project_name
             )
         #if simple:
         #    return 'cmake %(opts)s "%(dir)s"' % args
         return ('cmake -G "%(generator)s" '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
-                '-DWORD_SIZE:STRING=%(word_size)s '
                 '-DROOT_PROJECT_NAME:STRING=%(project_name)s '
                 '%(opts)s "%(dir)s"' % args)
 
@@ -630,15 +620,13 @@ class CygwinSetup(WindowsSetup):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
-            project_name=self.project_name,
-            word_size=self.word_size,
+            project_name=self.project_name
             )
         #if simple:
         #    return 'cmake %(opts)s "%(dir)s"' % args
         return ('cmake -G "%(generator)s" '
                 '-DUNATTENDED:BOOl=%(unattended)s '
                 '-DSTANDALONE:BOOL=%(standalone)s '
-                '-DWORD_SIZE:STRING=%(word_size)s '
                 '-DROOT_PROJECT_NAME:STRING=%(project_name)s '
                 '%(opts)s "%(dir)s"' % args)
 
@@ -659,7 +647,6 @@ Options:
        --unattended     build unattended, do not invoke any tools requiring
                         a human response
   -t | --type=NAME      build type ("Debug", "Release", or "RelWithDebInfo")
-  -m32 | -m64           build architecture (32-bit or 64-bit)
   -N | --no-distcc      disable use of distcc
   -G | --generator=NAME generator name
                         Windows: VC71 or VS2003 (default), VC80 (VS2005) or 
@@ -711,10 +698,6 @@ For example: develop.py configure -DSERVER:BOOL=OFF"""
             setup.standalone = 'ON'
         elif o in ('--unattended',):
             setup.unattended = 'ON'
-        elif o in ('-m32',):
-            setup.word_size = 32
-        elif o in ('-m64',):
-            setup.word_size = 64
         elif o in ('-t', '--type'):
             try:
                 setup.build_type = setup.build_types[a.lower()]
-- 
GitLab