root/juggler/branches/2.0/external/configure.in

Revision 17604, 11.9 kB (checked in by anonymous, 4 years ago)

This commit was manufactured by cvs2svn to create branch
'VRJ_RELENG_2_0_BRANCH'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 # ************** <auto-copyright.pl BEGIN do not edit this line> **************
2 #
3 # VR Juggler is (C) Copyright 1998-2005 by Iowa State University
4 #
5 # Original Authors:
6 #   Allen Bierbaum, Christopher Just,
7 #   Patrick Hartling, Kevin Meinert,
8 #   Carolina Cruz-Neira, Albert Baker
9 #
10 # This library is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU Library General Public
12 # License as published by the Free Software Foundation; either
13 # version 2 of the License, or (at your option) any later version.
14 #
15 # This library is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 # Library General Public License for more details.
19 #
20 # You should have received a copy of the GNU Library General Public
21 # License along with this library; if not, write to the
22 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 # Boston, MA 02111-1307, USA.
24 #
25 # -----------------------------------------------------------------
26 # File:          $RCSfile$
27 # Date modified: $Date$
28 # Version:       $Revision$
29 # -----------------------------------------------------------------
30 #
31 # *************** <auto-copyright.pl END do not edit this line> ***************
32
33 # -----------------------------------------------------------------------------
34 # Base configure.in for the Juggler Project external software directory.
35 # -----------------------------------------------------------------------------
36 # This file is "compiled" by GNU autoconf to generate the configure script
37 # that is actually run.
38 # -----------------------------------------------------------------------------
39
40 AC_INIT([VR Juggler external dependencies], [0.0],
41         [vrjuggler-devel@lists.sourceforge.net])
42 AC_PREREQ([2.53])
43 AC_COPYRIGHT([VR Juggler is (C) Copyright 1998-2003 by Iowa State University])
44 AC_REVISION([$Revision$])
45 AC_CONFIG_SRCDIR([ant/lib/ant.jar])
46 AC_CONFIG_AUX_DIR(../share/config)
47 DPP_PREREQ([1.99.15])
48 DPP_INIT
49
50 # Define the binary format.
51 DPP_ABI_SETUP
52
53 # -----------------------------------------------------------------------------
54 # Duplicates of the options for the external C++ dependencies.  We use these
55 # here so that we can absorb the options that are passed to the configure
56 # scripts that actually need the information.
57 # -----------------------------------------------------------------------------
58 AC_ARG_WITH(audiere,
59             [  --with-audiere=<PATH>   Audiere installation directory  [default=/usr/local]],
60             [AUDIERE_ROOT="$withval"], [AUDIERE_ROOT='/usr/local'])
61
62 AC_ARG_WITH([boost],
63             [  --with-boost=<PATH>     Boost installation directory    [default=/usr/local]],
64             [BOOST_ROOT="$withval"], [BOOST_ROOT='/usr/local'])
65
66 AC_ARG_WITH(boost-includes,
67             [  --with-boost-includes=<DIR>
68                           Boost header file directory     [default=/usr/local/include]],
69             [BOOST_INCLUDES="$withval"], [BOOST_INCLUDES=no])
70
71 AC_ARG_WITH(cppdom,
72             [  --with-cppdom=<PATH>    CppDOM installation directory   [default=/usr/local]],
73             [CPPDOM_ROOT="$withval"], [CPPDOM_ROOT="/usr/local"])
74
75 AC_ARG_WITH(cppunit,
76             [  --with-cppunit=<PATH>   CppUnit installation directory  [default=]],
77             [CPPUNIT_ROOT="$withval"], [CPPUNIT_ROOT=''])
78
79 AC_ARG_WITH(cxx-orb,
80             [  --with-cxx-orb=<NAME>   Name of C++ ORB to use          [default=omniORB4]
81                           Allowed values are:
82                             omniORB3, omniORB4, TAO],
83             [CXX_ORB_NAME="$withval"], [CXX_ORB_NAME='omniORB4'])
84
85 AC_ARG_WITH(cxx-orb-root,
86             [  --with-cxx-orb-root=<PATH>                              [default=/usr]
87                           Root directory of C++ ORB
88                           installation],
89             [CXX_ORB_ROOT="$withval"], [CXX_ORB_ROOT='/usr'])
90
91 AC_ARG_WITH(cxx-orb-bin,
92             [  --with-cxx-orb-bin=<PATH>                               [default=/usr/bin]
93                           Path to C++ ORB executables],
94             [CXX_ORB_BIN_DIR="$withval"], [CXX_ORB_BIN_DIR='none'])
95
96 AC_ARG_WITH(cxx-orb-lib,
97             [  --with-cxx-orb-lib=<PATH>                               [default=/usr/lib]
98                           Path to C++ ORB libraries],
99             [CXX_ORB_LIB_DIR="$withval"], [CXX_ORB_LIB_DIR='none'])
100
101 AC_ARG_WITH(gmtl,
102             [  --with-gmtl=<PATH>      Prefix where GMTL is installed  [default=/usr/local]],
103             [GMTL_ROOT="$withval"], [GMTL_ROOT=/usr/local])
104
105 AC_ARG_WITH(gmtl-includes,
106             [  --with-gmtl-includes=<DIR>
107                           GMTL header file directory      [default=/usr/local/include]],
108             [GMTL_INC_DIR="$withval"], [GMTL_INC_DIR="$GMTL_ROOT/include"])
109
110 AC_ARG_WITH(nspr,
111             [  --with-nspr=<PATH>      NSPR installation directory     [default=/usr]],
112             NSPR_ROOT="$withval", NSPR_ROOT='/usr')
113
114 AC_ARG_WITH(nspr-includes,
115             [  --with-nspr-includes=<DIR>
116                           NSPR headers are in DIR         [default=/usr/include]],
117             _with_nspr_inc="$withval", _with_nspr_inc="$NSPR_ROOT/include")
118
119 AC_ARG_WITH(openal,
120             [  --with-openal=<PATH>    OpenAL installation directory   [default=/usr/local]],
121             [OPENAL_ROOT="$withval"], [OPENAL_ROOT='/usr/local'])
122
123 # -----------------------------------------------------------------------------
124 # Path setup.
125 # -----------------------------------------------------------------------------
126
127 # $srcdir is the root directory of the Juggler source tree.  To get a value
128 # for $EXTROOT_ABS, we cd there and save the value of running pwd.  Then
129 # return to the directory where configure is being run ($topdir).
130 cd "$srcdir"
131 EXTROOT_ABS=`pwd`
132
133 cd "$EXTROOT_ABS/.."
134 JUGGLERROOT_ABS=`pwd`
135 cd "$topdir"
136
137 # -----------------------------------------------------------------------------
138 # System-dependent stuff.
139 # -----------------------------------------------------------------------------
140 DPP_WIN32_SETUP
141 DPP_SYSTEM_SETUP
142
143 # -----------------------------------------------------------------------------
144 # Checks for programs and other stuff.
145 # -----------------------------------------------------------------------------
146 VJ_COMPILER_SETUP
147 DPP_PERL_VER(5.004)
148 DPP_HAVE_GNU_MAKE([3.78], ,
149     [AC_MSG_ERROR([*** The build system requires GNU make 3.78 or newer ***])])
150 DPP_PROG_INSTALL
151 AC_PROG_LN_S
152
153 DPP_INSTALLER(vrjuggler, 0644, 0755, 0755)
154
155 AC_PATH_PROG(PYTHON, python, no)
156
157 # Determine the Python version in case we need to install site-specific
158 # Python packages.
159 # XXX: Can we ask Python what its site-specific directory name is?
160 if test "x$PYTHON" != "xno" ; then
161    AC_MSG_CHECKING([for Python version])
162    changequote(<<, >>)
163    PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
164    changequote([, ])
165    AC_MSG_RESULT([$PYTHON_VERSION])
166
167    PYTHON_DIR="python$PYTHON_VERSION"
168 fi
169
170 # -----------------------------------------------------------------------------
171 # Perform extra handling of input from the command line.
172 # -----------------------------------------------------------------------------
173 if test "x$BOOST_INCLUDES" = "xno" ; then
174    BOOST_INCLUDES="$BOOST_ROOT/include"
175 fi
176
177 # -----------------------------------------------------------------------------
178 # Deal with installing our external dependencies.
179 # -----------------------------------------------------------------------------
180 TARGETS=''
181
182 # Brute-force, quicky tests to determine if we need to handle each of the
183 # optional dependencies.
184 if test -e "$AUDIERE_ROOT/include/audiere.h" ; then
185    TARGETS="$TARGETS audiere"
186 fi
187
188 if test -d "$CPPUNIT_ROOT/include/cppunit" ; then
189    TARGETS="$TARGETS cppunit"
190 fi
191
192 if test -e "${_with_nspr_inc}/nspr/nspr.h" ; then
193    TARGETS="$TARGETS nspr"
194    NSPR_INC_DIR="${_with_nspr_inc}"
195 fi
196
197 if test -d "$OPENAL_ROOT/include/AL" ; then
198    TARGETS="$TARGETS openal"
199 fi
200
201 case $CXX_ORB_NAME in
202    omniORB3)
203       have_cxx_orb='Y'
204       orb='omniORB'
205       ;;
206    omniORB4)
207       have_cxx_orb='Y'
208       orb='omniORB'
209       ;;
210    TAO)
211       have_cxx_orb='Y'
212       orb='TAO'
213       ;;
214    *)
215       have_cxx_orb='N'
216       orb='unknown'
217       ;;
218 esac
219
220 USE_OMNIPYTHON='N'
221 OMNIPYTHON=''
222
223 if test "x$have_cxx_orb" = "xY" ; then
224    if test "x$orb" = "xomniORB" ; then
225       if test -d "$CXX_ORB_ROOT/include/$CXX_ORB_NAME" ; then
226          TARGETS="$TARGETS $CXX_ORB_NAME"
227          OMNIORB_CMDS='catior convertior genior nameclt omkdepend omniMapper omniNames omnicpp omniidl omniidlrun.py'
228
229          if test "x$CXX_ORB_BIN_DIR" = "xnone" ; then
230             CXX_ORB_BIN_DIR="$CXX_ORB_ROOT/bin"
231          fi
232
233          omniidl_python=`grep -e '#!.*python' $CXX_ORB_BIN_DIR/omniidl | sed -e 's/^#!\(.*\)$/\1/'`
234          changequote(<<, >>)
235          OMNI_PYTHON_VERSION=`$omniidl_python -c "import sys; print sys.version[:3]"`
236          changequote([, ])
237
238          case $omniidl_python in
239             *omnipython)
240                USE_OMNIPYTHON='Y'
241                OMNIPYTHON="$omniidl_python"
242                OMNIPYTHON_HOME=`echo $OMNIPYTHON | sed -e 's|^\(.*\)/bin/.*omnipython|\1|'`
243                ;;
244          esac
245
246          OMNI_PYTHON_DIR="python$OMNI_PYTHON_VERSION"
247
248          if test "x$CXX_ORB_LIB_DIR" = "xnone" ; then
249             CXX_ORB_LIB_DIR="$CXX_ORB_ROOT/lib"
250          fi
251
252          if test -d "$CXX_ORB_LIB_DIR/$OMNI_PYTHON_DIR/site-packages/omniidl"
253          then
254             OMNI_PYTHON_PKG_DIR="$OMNI_PYTHON_DIR/site-packages"
255          elif test -d "$CXX_ORB_LIB_DIR/$OMNI_PYTHON_DIR/omniidl" ; then
256             OMNI_PYTHON_PKG_DIR="$OMNI_PYTHON_DIR"
257          elif test -d "$CXX_ORB_LIB_DIR/python/omniidl" ; then
258             OMNI_PYTHON_PKG_DIR="python"
259          else
260             OMNI_PYTHON_PKG_DIR="$OMNI_PYTHON_DIR/site-packages"
261          fi
262       fi
263    elif test "x$orb" = "xTAO" ; then
264       if test -d "$CXX_ORB_ROOT/include/tao" ; then
265          TARGETS="$TARGETS $CXX_ORB_NAME"
266
267          # XXX: This is obviously a lot of programs to be installing.  I do
268          # not know which of these are absolutely required and which can be
269          # ignored.
270          TAO_CMDS='Basic_Logging_Service Concurrency_Service CosEvent_Service Dump_Schedule Event_Logging_Service Event_Service FT_ReplicationManager Fault_Detector Fault_Notifier IFR_Service ImR_Activator ImplRepo_Service LifeCycle_Service LoadManager LoadMonitor NT_Naming_Service NT_Notify_Service NameService Naming_Service Notify_Logging_Service Notify_Service RTEvent_Logging_Service Scheduling_Service TAO_Service Time_Service_Clerk Time_Service_Server Trading_Service catior consumer ftec ftrt_eventservice ftrtec_factory_service ftrtec_gateway_service nsadd nsdel nslist psdl_tao supplier tao_idl tao_ifr tao_imr gperf'
271
272          if test "x$CXX_ORB_BIN_DIR" = "xnone" ; then
273             CXX_ORB_BIN_DIR="$CXX_ORB_ROOT/bin"
274          fi
275
276          if test "x$CXX_ORB_LIB_DIR" = "xnone" ; then
277             CXX_ORB_LIB_DIR="$CXX_ORB_ROOT/lib"
278          fi
279       fi
280    else
281       AC_MSG_ERROR([*** We have a C++ ORB, but we don't know its name! ***])
282    fi
283 fi
284
285 # -----------------------------------------------------------------------------
286 # Do Makefile substitutions.
287 # -----------------------------------------------------------------------------
288
289 if test "x$OS_TYPE" = "xWin32" ; then
290     EXTROOT_ABS=`dospath -p "$EXTROOT_ABS"`
291     JUGGLERROOT_ABS=`dospath -p "$JUGGLERROOT_ABS"`
292     LN_S='cp -pr'
293     RM_LN='rm -rf'
294 else
295     RM_LN='rm -f'
296 fi
297
298 DPP_SUBST
299 AC_SUBST(RM_LN)
300 AC_SUBST(EXTROOT_ABS)
301 AC_SUBST(JUGGLERROOT_ABS)
302 AC_SUBST(TARGETS)
303
304 AC_SUBST(BOOST_ROOT)
305 AC_SUBST(BOOST_INCLUDES)
306 AC_SUBST(CPPDOM_ROOT)
307 AC_SUBST(GMTL_ROOT)
308 AC_SUBST(GMTL_INC_DIR)
309
310 AC_SUBST(AUDIERE_ROOT)
311 AC_SUBST(CPPUNIT_ROOT)
312 AC_SUBST(CXX_ORB_NAME)
313 AC_SUBST(CXX_ORB_ROOT)
314 AC_SUBST(CXX_ORB_BIN_DIR)
315 AC_SUBST(CXX_ORB_LIB_DIR)
316 AC_SUBST(NSPR_ROOT)
317 AC_SUBST(NSPR_INC_DIR)
318 AC_SUBST(OPENAL_ROOT)
319
320 AC_SUBST(OMNIORB_CMDS)
321 AC_SUBST(PYTHON_DIR)
322 AC_SUBST(PYTHON_VERSION)
323 AC_SUBST(OMNI_PYTHON_DIR)
324 AC_SUBST(OMNI_PYTHON_PKG_DIR)
325 AC_SUBST(OMNI_PYTHON_VERSION)
326
327 AC_SUBST(USE_OMNIPYTHON)
328 AC_SUBST(OMNIPYTHON)
329 AC_SUBST(OMNIPYTHON_HOME)
330
331 AC_SUBST(TAO_CMDS)
332
333 AC_CONFIG_FILES(Makefile)
334
335 AC_OUTPUT
Note: See TracBrowser for help on using the browser.