Changeset 20553
- Timestamp:
- 07/15/07 10:26:05 (1 year ago)
- Files:
-
- juggler/branches/2.2/README-WINDOWS.html (modified) (3 diffs)
- juggler/branches/2.2/build_windows.py (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
juggler/branches/2.2/README-WINDOWS.html
r20360 r20553 29 29 <li> 30 30 Install <a href="http://www.python.org/">Python</a> 2.2 or newer. To build 31 a 64-bit version of VR Juggler on Windows, the 64-bit build of Python 2.5 is32 required.31 a 64-bit version of VR Juggler on Windows, the 64-bit build of Python 2.5 32 is <i>required</i>. 33 33 </li> 34 34 <li> … … 55 55 <a href="http://www.python.org/">Python</a> 2.2 or newer installed on your 56 56 system. (To build a 64-bit version of VR Juggler, the 64-bit version of 57 Python 2.5 mustbe installed.) Visit the Python website for57 Python 2.5 <i>must</i> be installed.) Visit the Python website for 58 58 <a href="http://www.python.org/download/">download and install 59 59 instructions</a>. … … 72 72 VR Juggler's C++ dependencies into a convenient, centralized location. 73 73 </p> 74 75 <blockquote> 76 <b>IMPORTANT:</b> To create a 64-bit build on Windows, the command line 77 option <b><tt>--64</tt></b> must be used, or the <q>64-bit Build</q> option 78 in the GUI must be selected. 79 </blockquote> 74 80 75 81 <blockquote> juggler/branches/2.2/build_windows.py
r20549 r20553 48 48 gJugglerDir = os.path.dirname(os.path.abspath(sys.argv[0])) 49 49 gOptionsFileName = "options.cache" 50 gBuild64 = False 50 51 51 52 gJdomJars = [ … … 358 359 359 360 if os.environ['OMNIORB_ROOT'] != '' and os.path.exists(os.environ['OMNIORB_ROOT']): 361 # A 64-bit build of omniORB has to have been compiled against a 64-bit 362 # build of Python. Unfortunately, when omniidl.exe acts as the Python 363 # interpreter, it doesn't take care of setting PYTHONHOME, and this 364 # prevents it from being able to find core modules (such as sys.py or 365 # os.py). We'll assume that a 64-bit Python interpreter is being used 366 # to run this script and use its installation prefix as PYTHONHOME to 367 # help out omniidl.exe. 368 if gBuild64 and not os.environ.has_key('PYTHONHOME'): 369 os.environ['PYTHONHOME'] = sys.prefix 370 360 371 omni_bin = os.path.join(os.environ['OMNIORB_ROOT'], 'bin') 361 372 … … 403 414 # Determine if al.h is in the base include directory or in include\AL. 404 415 if os.environ['OPENAL_ROOT'] != '': 405 # TODO: Extend for Win64. 416 if gBuild64: 417 subdir = 'Win64' 418 else: 419 subdir = 'Win32' 420 406 421 lib_dirs = [os.path.join(os.environ['OPENAL_ROOT'], 'libs'), 407 os.path.join(os.environ['OPENAL_ROOT'], 'libs', 'Win32')]422 os.path.join(os.environ['OPENAL_ROOT'], 'libs', subdir)] 408 423 409 424 for l in lib_dirs: … … 1776 1791 installDoozer(prefix) 1777 1792 1778 def simpleInstall(name, root, prefix, includeDir = None, optional = False): 1793 def simpleInstall(name, root, prefix, includeDir = None, libDir = 'lib', 1794 optional = False): 1779 1795 if optional and root == '': 1780 1796 return … … 1793 1809 1794 1810 # Install all libraries. 1795 srcdir = os.path.join(root, 'lib')1811 srcdir = os.path.join(root, libDir) 1796 1812 1797 1813 if os.path.exists(srcdir): … … 1818 1834 1819 1835 def installCppDOM(prefix): 1836 if gBuild64: 1837 libdir = 'lib64' 1838 else: 1839 libdir = 'lib' 1840 1820 1841 simpleInstall('CppDOM headers and libraries', os.environ['CPPDOM_ROOT'], 1821 prefix, os.environ['CPPDOM_INCLUDES'] )1842 prefix, os.environ['CPPDOM_INCLUDES'], libdir) 1822 1843 1823 1844 def installDoozer(prefix): … … 1870 1891 1871 1892 # OpenAL 1.0 and 1.1 put the redistributable DLL in different places. 1872 dll_dirs = [os.path.join(srcdir, 'dll'), 1873 os.path.join(r'C:\windows', 'SysWOW64'), 1874 os.path.join(r'C:\windows', 'system32')] 1893 dll_dirs = [os.path.join(srcdir, 'dll')] 1894 1895 sysroot = os.environ['SystemRoot'] 1896 1897 # For a 64-bit build, we know that we only have to to look in one place 1898 # for the DLL. 1899 if gBuild64: 1900 dll_dirs.append(os.path.join(sysroot, 'system32')) 1901 else: 1902 dll_dirs += [os.path.join(sysroot, 'SysWOW64'), 1903 os.path.join(sysroot, 'system32')] 1875 1904 1876 1905 for d in dll_dirs: … … 2138 2167 # CommandFrame Innards. 2139 2168 next_row = 0 2169 self.mRoot.CommandFrame.Build64Check = \ 2170 Tkinter.Checkbutton(self.mRoot.CommandFrame, 2171 text="64-bit Build", 2172 bg = self.JugglerYellow, 2173 activebackground = self.JugglerYellow, 2174 onvalue = "Yes", offvalue = "No") 2175 self.mRoot.CommandFrame.Build64Check.Variable = Tkinter.StringVar() 2176 build64 = "No" 2177 if gBuild64: 2178 build64 = "Yes" 2179 self.mRoot.CommandFrame.Build64Check.Variable.set(build64) 2180 self.mRoot.CommandFrame.Build64Check["variable"] = \ 2181 self.mRoot.CommandFrame.Build64Check.Variable 2182 self.mRoot.CommandFrame.Build64Check.grid(row = next_row, column = 0, 2183 sticky = Tkinter.EW, pady = 4) 2184 next_row = next_row + 1 2140 2185 self.mRoot.CommandFrame.OpenVSCheck = \ 2141 2186 Tkinter.Checkbutton(self.mRoot.CommandFrame, … … 2259 2304 os.environ[k] = self.mTkOptions[k].get() 2260 2305 2306 # This has to be done before calling postProcessOptions(). 2307 if self.mRoot.CommandFrame.Build64Check.Variable.get() == "Yes": 2308 global gBuild64 2309 gBuild64 = True 2310 2261 2311 if True:#self.validateOptions(): 2262 2312 postProcessOptions(self.mOptions) … … 2415 2465 try: 2416 2466 cmd_opts, cmd_args = getopt.getopt(sys.argv[1:], "cano:h", 2417 [" nogui", "nobuild", "auto",2467 ["64", "nogui", "nobuild", "auto", 2418 2468 "options-file=", "help"]) 2419 2469 except getopt.GetoptError: … … 2424 2474 2425 2475 global gOptionsFileName 2476 global gBuild64 2426 2477 for o, a in cmd_opts: 2427 2478 if o in ("-c","--nogui"): 2428 2479 disable_tk = True 2480 elif o == "--64": 2481 gBuild64 = True 2429 2482 elif o in ("-o", "--options-file="): 2430 2483 gOptionsFileName = a … … 2483 2536 print "-c, --nogui Disable the Tkinter GUI front end" 2484 2537 print " (i.e., Run in command line mode)." 2538 print "--64 Indicate that a 64-bit build will" 2539 print " be made." 2485 2540 #print "-a, --auto Does not interactively ask for values of any options. Uses the Default values, 'options.cache' if it exists, or the file given by the -o option. Only used in command line mode." 2486 2541 print "-o, --options-file=FILE Uses FILE to Load/Save Options."
