Changeset 14727

Show
Ignore:
Timestamp:
04/14/04 11:06:24 (5 years ago)
Author:
patrickh
Message:

New feature: External C/C++ dependencies can be bundled up for easy

redistribution.

In this first stage of implementing this feature for the UNIX build,
the dependencies are not installed by default when making an
installation or a release. Instead, there is a separate target named
'install-deps' that must be run to install dependencies. By default,
dependencies install into the same directory tree as VR Juggler, but
this can be changed by setting the variable deps_prefx on the command
line when running GNU make.

For the developer installation (the instlinks stuff), the dependecies
are installed into the instlinks tree. Since the *-config scripts have
not yet been updated, the only real effect of this is that developers
can set $LD_LIBRARY_PATH to point only to $VJ_BASE_DIR/lib and get all
the shared libraries resolved. The updates to the *-config scripts are
the next stage.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/juggler/Makefile.in

    r12036 r14727  
    6565        $(MAKE) GLOBAL_BUILD=1 RECTARGET="installworld" recursive 
    6666 
     67install-deps: 
     68        $(MAKE) -C external $@ 
     69 
    6770clobber: 
    6871        $(MAKE) GLOBAL_BUILD=1 RECTARGET="$@" recursive 
  • trunk/juggler/external/Makefile.in

    r14687 r14727  
    3333bindir=                 @bindir@ 
    3434datadir=                @datadir@ 
     35deps_prefix=            $(prefix) 
    3536exec_prefix=            @exec_prefix@ 
    3637includedir=             @includedir@ 
     
    4546scriptdir=              $(releasedir)/scripts 
    4647top_srcdir=             @top_srcdir@ 
     48DPP_SCRIPTDIR=          @JUGGLERROOT_ABS@/Doozer++/scripts 
    4749 
    4850DIR_PERMS=              @DIR_PERMS@ 
     
    5759 
    5860EXTROOT_ABS=            @EXTROOT_ABS@ 
     61INSTALL=                @INSTALL@ 
    5962JUGGLERROOT_ABS=        @JUGGLERROOT_ABS@ 
    6063LN_S=                   @LN_S@ 
     
    6467RM_LN=                  @RM_LN@ 
    6568 
    66 TARGETS=                @TARGETS@ 
     69BASE_TARGETS=           doozer 
     70TARGETS=                cppdom boost gmtl @TARGETS@ 
     71ALL_TARGETS=            $(BASE_TARGETS) $(TARGETS) 
    6772EXTS?=                  .h 
     73 
     74BOOST_ROOT=             @BOOST_ROOT@ 
     75BOOST_INCLUDES=         @BOOST_INCLUDES@ 
     76CPPDOM_ROOT=            @CPPDOM_ROOT@ 
     77GMTL_ROOT=              @GMTL_ROOT@ 
     78 
     79# NOTE: There are no spaces between the commas in the $(subst) function call 
     80# because that introduces whitespace into the resulting string. 
     81BOOST_INCLUDE_DIR=      $(subst $(BOOST_ROOT),,$(BOOST_INCLUDES)) 
     82 
     83AUDIERE_ROOT=           @AUDIERE_ROOT@ 
     84CPPUNIT_ROOT=           @CPPUNIT_ROOT@ 
     85CXX_ORB_NAME=           @CXX_ORB_NAME@ 
     86CXX_ORB_ROOT=           @CXX_ORB_ROOT@ 
     87CXX_ORB_BIN_DIR=        @CXX_ORB_BIN_DIR@ 
     88CXX_ORB_LIB_DIR=        @CXX_ORB_LIB_DIR@ 
     89OPENAL_ROOT=            @OPENAL_ROOT@ 
     90 
     91OMNIORB_CMDS=           @OMNIORB_CMDS@ 
     92PYTHON_DIR=             @PYTHON_DIR@ 
     93PYTHON_PKG_DIR=         $(PYTHON_DIR)/site-packages 
     94 
     95CXX_ORB_BIN_PATH=       $(subst $(CXX_ORB_ROOT),,$(CXX_ORB_BIN_DIR)) 
     96CXX_ORB_LIB_PATH=       $(subst $(CXX_ORB_ROOT),,$(CXX_ORB_LIB_DIR)) 
    6897 
    6998world release: 
     
    74103prof-dso links: 
    75104        $(MKINSTALLDIRS) $(instlinks)/include 
    76 ifneq ($(TARGETS), ) 
    77         @for target in $(TARGETS) ; do                                  \ 
     105        @for target in $(ALL_TARGETS) ; do                              \ 
    78106            $(MAKE) links-$$target || exit 1;                           \ 
    79107          done 
    80 endif 
     108 
     109links-boost: 
     110        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/$(BOOST_INCLUDE_DIR) 
     111        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/lib 
     112        -$(RM_LN) $(instlinks)/$(BOOST_INCLUDE_DIR)/boost 
     113        $(LN_S) $(BOOST_INCLUDES)/boost $(instlinks)/$(BOOST_INCLUDE_DIR)/boost 
     114        $(INSTALL) -l $(BOOST_ROOT)/lib/libboost* $(instlinks)/lib 
     115 
     116links-cppdom: 
     117        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     118        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/lib 
     119        -$(RM_LN) $(instlinks)/include/cppdom 
     120        $(LN_S) $(CPPDOM_ROOT)/include/cppdom $(instlinks)/include/cppdom 
     121        $(INSTALL) -l $(CPPDOM_ROOT)/lib/libcppdom* $(instlinks)/lib 
     122 
     123links-gmtl: 
     124        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     125        -$(RM_LN) $(instlinks)/include/gmtl 
     126        $(LN_S) $(CPPDOM_ROOT)/include/gmtl $(instlinks)/include/gmtl 
     127 
     128links-audiere: 
     129        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     130        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/lib 
     131        $(INSTALL) -l $(AUDIERE_ROOT)/include/audiere.h                 \ 
     132          $(instlinks)/include/audiere.h 
     133        $(INSTALL) -l $(AUDIERE_ROOT)/lib/libaudiere* $(instlinks)/lib 
     134 
     135links-cppunit: 
     136        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     137        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/lib 
     138        -$(RM_LN) $(instlinks)/include/cppunit 
     139        $(LN_S) $(CPPUNIT_ROOT)/include/cppunit $(instlinks)/include/cppunit 
     140        $(INSTALL) -l $(CPPUNIT_ROOT)/lib/libcppunit* $(instlinks)/lib 
     141 
     142links-omniORB3 links-omniORB4: 
     143        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     144        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/$(CXX_ORB_BIN_PATH) 
     145        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/$(CXX_ORB_LIB_PATH) 
     146        -$(RM_LN) $(instlinks)/include/$(CXX_ORB_NAME) 
     147        -$(RM_LN) $(instlinks)/include/omniconfig.h 
     148        -$(RM_LN) $(instlinks)/include/omnithread 
     149        -$(RM_LN) $(instlinks)/include/omnithread.h 
     150        @for c in $(OMNIORB_CMDS) ; do                                  \ 
     151            $(RM_LN) $(instlinks)/$(CXX_ORB_BIN_PATH)/$$c ;             \ 
     152            $(LN_S) $(CXX_ORB_BIN_DIR)/$$c $(instlinks)/$(CXX_ORB_BIN_PATH)/$$c || exit 1; \ 
     153          done 
     154        $(LN_S) $(CXX_ORB_ROOT)/include/$(CXX_ORB_NAME)                 \ 
     155          $(instlinks)/include/$(CXX_ORB_NAME) 
     156        $(LN_S) $(CXX_ORB_ROOT)/include/omniconfig.h                    \ 
     157          $(instlinks)/include/omniconfig.h 
     158        $(LN_S) $(CXX_ORB_ROOT)/include/omnithread                      \ 
     159          $(instlinks)/include/omnithread 
     160        $(LN_S) $(CXX_ORB_ROOT)/include/omnithread.h                    \ 
     161          $(instlinks)/include/omnithread.h 
     162        $(INSTALL) -l $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libCOS*       \ 
     163          $(instlinks)/$(CXX_ORB_LIB_PATH) 
     164        $(INSTALL) -l $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libomni*      \ 
     165          $(instlinks)/$(CXX_ORB_LIB_PATH) 
     166        $(INSTALL) -l $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/_omni*       \ 
     167          $(instlinks)/lib/$(PYTHON_PKG_DIR) 
     168        $(PERL) $(scriptdir)/install-dir.pl -l                          \ 
     169          -i $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/omniidl               \ 
     170          -o $(instlinks)/lib/$(PYTHON_PKG_DIR)/omniidl 
     171        $(PERL) $(scriptdir)/install-dir.pl -l                          \ 
     172          -i $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/omniidl_be            \ 
     173          -o $(instlinks)/lib/$(PYTHON_PKG_DIR)/omniidl_be 
     174 
     175links-openal: 
     176        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/include 
     177        $(SHELL) $(MKINSTALLDIRS) $(instlinks)/lib 
     178        -$(RM_LN) $(instlinks)/include/AL 
     179        $(LN_S) $(OPENAL_ROOT)/include/AL $(instlinks)/include/AL 
     180        $(INSTALL) -l $(OPENAL_ROOT)/lib/libopenal* $(instlinks)/lib 
    81181 
    82182links-doozer: 
     
    88188install-opt install-opt-dso install-profiled install-prof               \ 
    89189install-prof-dso installworld: 
    90 ifneq ($(TARGETS), ) 
     190        @for target in $(BASE_TARGETS) ; do                             \ 
     191            $(MAKE) install-$$target || exit 1;                         \ 
     192          done 
     193 
     194install-deps: 
    91195        @for target in $(TARGETS) ; do                                  \ 
    92196            $(MAKE) install-$$target || exit 1;                         \ 
    93197          done 
    94 endif 
     198 
     199install-boost: 
     200        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/$(BOOST_INCLUDE_DIR)/boost 
     201        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib 
     202        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     203          $(GROUP_OPT_UNIX) -e .h,.hpp -i $(BOOST_INCLUDES)/boost       \ 
     204          -o $(deps_prefix)/$(BOOST_INCLUDE_DIR)/boost 
     205        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     206          $(BOOST_ROOT)/lib/libboost*.a $(deps_prefix)/lib 
     207        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     208          $(BOOST_ROOT)/lib/libboost*.so* $(deps_prefix)/lib 
     209 
     210install-cppdom: 
     211        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/cppdom 
     212        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib 
     213        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     214          $(GROUP_OPT_UNIX) -e .h -i $(CPPDOM_ROOT)/include/cppdom      \ 
     215          -o $(deps_prefix)/include/cppdom 
     216        $(INSTALL) $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                   \ 
     217          $(CPPDOM_ROOT)/lib/libcppdom*.a $(deps_prefix)/lib 
     218        $(INSTALL) $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                   \ 
     219          $(CPPDOM_ROOT)/lib/libcppdom*.so* $(deps_prefix)/lib 
     220 
     221install-gmtl: 
     222        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/gmtl 
     223        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     224          $(GROUP_OPT_UNIX) -e .h -i $(GMTL_ROOT)/include/gmtl          \ 
     225          -o $(deps_prefix)/include/gmtl 
     226 
     227install-audiere: 
     228        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include 
     229        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib 
     230        $(INSTALL) $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                   \ 
     231          $(AUDIERE_ROOT)/include/audiere.h $(deps_prefix)/include 
     232        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     233          $(AUDIERE_ROOT)/lib/libaudiere*.a $(deps_prefix)/lib 
     234        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     235          $(AUDIERE_ROOT)/lib/libaudiere*.so* $(deps_prefix)/lib 
     236 
     237install-cppunit: 
     238        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/cppunit 
     239        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib 
     240        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     241          $(GROUP_OPT_UNIX) -e .h -i $(CPPUNIT_ROOT)/include/cppunit    \ 
     242          -o $(deps_prefix)/include/cppunit 
     243        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     244          $(CPPUNIT_ROOT)/lib/libcppunit*.a $(deps_prefix)/lib 
     245        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     246          $(CPPUNIT_ROOT)/lib/libcppunit*.so* $(deps_prefix)/lib 
     247 
     248install-omniORB3 install-omniORB4: 
     249        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/$(CXX_ORB_NAME) 
     250        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/omnithread 
     251        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/$(CXX_ORB_BIN_PATH) 
     252        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/$(CXX_ORB_LIB_PATH) 
     253        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib/$(PYTHON_PKG_DIR) 
     254        @for c in $(OMNIORB_CMDS) ; do                                  \ 
     255            $(INSTALL) -m $(EXEC_PERMS) $(GROUP_OPT_UNIX) $(CXX_ORB_BIN_DIR)/$$c $(deps_prefix)/$(CXX_ORB_BIN_PATH)/$$c || exit 1; \ 
     256          done 
     257        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     258          $(GROUP_OPT_UNIX) -e .h                                       \ 
     259          -i $(CXX_ORB_ROOT)/include/$(CXX_ORB_NAME)                    \ 
     260          -o $(deps_prefix)/include/$(CXX_ORB_NAME) 
     261        $(INSTALL) $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                   \ 
     262          $(CXX_ORB_ROOT)/include/omniconfig.h $(deps_prefix)/include 
     263        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     264          $(GROUP_OPT_UNIX) -e .h -i $(CXX_ORB_ROOT)/include/omnithread \ 
     265          -o $(deps_prefix)/include/omnithread 
     266        $(INSTALL) $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                   \ 
     267          $(CXX_ORB_ROOT)/include/omnithread.h $(deps_prefix)/include 
     268        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     269          $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libCOS*.a                 \ 
     270          $(deps_prefix)/$(CXX_ORB_LIB_PATH) 
     271        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     272          $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libCOS*.so*               \ 
     273          $(deps_prefix)/$(CXX_ORB_LIB_PATH) 
     274        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     275          $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libomni*.a                \ 
     276          $(deps_prefix)/$(CXX_ORB_LIB_PATH) 
     277        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     278          $(CXX_ORB_ROOT)/$(CXX_ORB_LIB_PATH)/libomni*.so*              \ 
     279          $(deps_prefix)/$(CXX_ORB_LIB_PATH) 
     280        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     281          $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/_omni*                   \ 
     282          $(deps_prefix)/lib/$(PYTHON_PKG_DIR) 
     283        $(PERL) $(scriptdir)/install-dir.pl $(GROUP_OPT_UNIX)           \ 
     284          -m $(FILE_PERMS) -e .py                                       \ 
     285          -i $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/omniidl               \ 
     286          -o $(deps_prefix)/lib/$(PYTHON_PKG_DIR)/omniidl 
     287        $(PERL) $(scriptdir)/install-dir.pl $(GROUP_OPT_UNIX)           \ 
     288          -m $(FILE_PERMS) -e .py                                       \ 
     289          -i $(CXX_ORB_LIB_DIR)/$(PYTHON_PKG_DIR)/omniidl_be            \ 
     290          -o $(deps_prefix)/lib/$(PYTHON_PKG_DIR)/omniidl_be 
     291 
     292install-openal: 
     293        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/include/AL 
     294        $(SHELL) $(MKINSTALLDIRS) $(deps_prefix)/lib 
     295        $(PERL) $(scriptdir)/install-dir.pl -m $(FILE_PERMS)            \ 
     296          $(GROUP_OPT_UNIX) -e .h -i $(OPENAL_ROOT)/include/AL          \ 
     297          -o $(deps_prefix)/include/AL 
     298        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(FILE_PERMS)                \ 
     299          $(OPENAL_ROOT)/lib/libopenal*.a $(deps_prefix)/lib 
     300        $(INSTALL) -L $(GROUP_OPT_UNIX) -m $(EXEC_PERMS)                \ 
     301          $(OPENAL_ROOT)/lib/libopenal*.so* $(deps_prefix)/lib 
    95302 
    96303install-doozer: 
  • trunk/juggler/external/configure.in

    r14687 r14727  
    3838# ----------------------------------------------------------------------------- 
    3939 
    40 AC_REVISION($Revision$) 
    41 AC_INIT([ant/lib/ant.jar]) 
     40AC_INIT([VR Juggler external dependencies], [0.0], 
     41        [vrjuggler-devel@lists.sourceforge.net]) 
     42AC_PREREQ([2.53]) 
     43AC_COPYRIGHT([VR Juggler is (C) Copyright 1998-2003 by Iowa State University]) 
     44AC_REVISION([$Revision$]) 
     45AC_CONFIG_SRCDIR([ant/lib/ant.jar]) 
    4246AC_CONFIG_AUX_DIR(../share/config) 
    4347DPP_PREREQ([1.5.1]) 
    4448DPP_INIT 
     49 
     50# ----------------------------------------------------------------------------- 
     51# Duplicates of the options for the external C++ dependencies.  We use these 
     52# here so that we can absorb the options that are passed to the configure 
     53# scripts that actually need the information. 
     54# ----------------------------------------------------------------------------- 
     55AC_ARG_WITH(audiere, 
     56            [  --with-audiere=<PATH>   Audiere installation directory  [default=/usr/local]], 
     57            [AUDIERE_ROOT="$withval"], [AUDIERE_ROOT='/usr/local']) 
     58 
     59AC_ARG_WITH([boost], 
     60            [  --with-boost=<PATH>     Boost installation directory    [default=/usr/local]], 
     61            [BOOST_ROOT="$withval"], [BOOST_ROOT='/usr/local']) 
     62 
     63AC_ARG_WITH(boost-includes, 
     64            [  --with-boost-includes=<DIR> 
     65                       Boost header file directory     [default=/usr/local/include]], 
     66            [BOOST_INCLUDES="$withval"], [BOOST_INCLUDES=no]) 
     67 
     68AC_ARG_WITH(cppdom, 
     69            [  --with-cppdom=<PATH>    CppDOM installation directory   [default=/usr/local]], 
     70            [CPPDOM_ROOT="$withval"], [CPPDOM_ROOT="/usr/local"]) 
     71 
     72AC_ARG_WITH(cppunit, 
     73            [  --with-cppunit=<PATH>   CppUnit installation directory  [default=]], 
     74            [CPPUNIT_ROOT="$withval"], [CPPUNIT_ROOT='']) 
     75 
     76AC_ARG_WITH(cxx-orb, 
     77            [  --with-cxx-orb=<NAME>   Name of C++ ORB to use          [default=omniORB4] 
     78                          Allowed values are: 
     79                            omniORB3, omniORB4], 
     80            [CXX_ORB_NAME="$withval"], [CXX_ORB_NAME='omniORB4']) 
     81 
     82AC_ARG_WITH(cxx-orb-root, 
     83            [  --with-cxx-orb-root=<PATH>                              [default=/usr] 
     84                          Root directory of C++ ORB 
     85                          installation], 
     86            [CXX_ORB_ROOT="$withval"], [CXX_ORB_ROOT='/usr']) 
     87 
     88AC_ARG_WITH(cxx-orb-bin, 
     89            [  --with-cxx-orb-bin=<PATH>                               [default=/usr/bin] 
     90                          Path to C++ ORB executables], 
     91            [CXX_ORB_BIN_DIR="$withval"], [CXX_ORB_BIN_DIR='none']) 
     92 
     93AC_ARG_WITH(cxx-orb-lib, 
     94            [  --with-cxx-orb-lib=<PATH>                               [default=/usr/lib] 
     95                          Path to C++ ORB libraries], 
     96            [CXX_ORB_LIB_DIR="$withval"], [CXX_ORB_LIB_DIR='none']) 
     97 
     98AC_ARG_WITH(gmtl-prefix, 
     99            [  --with-gmtl-prefix=<PATH> 
     100                       Prefix where GMTL is installed  [default=/usr/local]], 
     101            [GMTL_ROOT="$withval"], [GMTL_ROOT=/usr/local]) 
     102 
     103AC_ARG_WITH(openal, 
     104            [  --with-openal=<PATH>    OpenAL installation directory   [default=/usr/local]], 
     105            [OPENAL_ROOT="$withval"], [OPENAL_ROOT='/usr/local']) 
    45106 
    46107# ----------------------------------------------------------------------------- 
     
    58119cd "$topdir" 
    59120 
    60 # Enable/disable installation of Doozer from juggler/external. 
    61 AC_ARG_ENABLE([doozer-install], 
    62               [  --disable-doozer-install 
    63                           Disable installation of 
    64                           juggler/external/Doozer], 
    65               [install_doozer="$enableval"], [install_doozer='yes']) 
    66  
    67 # Name the path to a Doozer installation.  This defaults to 
    68 # juggler/external/Doozer (using an absolute path). 
    69 AC_ARG_WITH([doozer-prefix], 
    70             [  --with-doozer-prefix=<PATH> 
    71                           Doozer installation directory], 
    72             [DOOZER_ROOT="$withval"], 
    73             [DOOZER_ROOT="$JUGGLERROOT_ABS/external/Doozer"]) 
    74  
    75121# ----------------------------------------------------------------------------- 
    76122# System-dependent stuff. 
     
    85131DPP_HAVE_GNU_MAKE([3.78], , 
    86132    [AC_MSG_ERROR([*** The build system requires GNU make 3.78 or newer ***])]) 
     133DPP_PROG_INSTALL 
    87134AC_PROG_LN_S 
    88135 
    89136DPP_INSTALLER(vrjuggler, 0644, 0755, 0755) 
    90137 
    91 # ----------------------------------------------------------------------------- 
    92 # Deal with installing our fun external software. 
    93 # ----------------------------------------------------------------------------- 
    94 if test "x$DOOZER_ROOT" != "x$JUGGLERROOT_ABS/external/Doozer" ; then 
    95    install_doozer='no' 
    96 fi 
    97  
     138AC_PATH_PROG(PYTHON, python, no) 
     139 
     140# Determine the Python version in case we need to install site-specific 
     141# Python packages. 
     142# XXX: Can we ask Python what its site-specific directory name is? 
     143if test "x$PYTHON" != "xno" ; then 
     144   AC_MSG_CHECKING([for Python version]) 
     145   changequote(<<, >>) 
     146   PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"` 
     147   changequote([, ]) 
     148   AC_MSG_RESULT([$PYTHON_VERSION]) 
     149 
     150   PYTHON_DIR="python$PYTHON_VERSION" 
     151fi 
     152 
     153# ----------------------------------------------------------------------------- 
     154# Deal with installing our external dependencies. 
     155# ----------------------------------------------------------------------------- 
    98156TARGETS='' 
    99157 
    100 if test "x$install_doozer" != "xno" ; then 
    101    TARGETS="$TARGETS doozer" 
     158# Brute-force, quicky tests to determine if we need to handle each of the 
     159# optional dependencies. 
     160if test -e "$AUDIERE_ROOT/include/audiere.h" ; then 
     161   TARGETS="$TARGETS audiere" 
     162fi 
     163 
     164if test -d "$CPPUNIT_ROOT/include/cppunit" ; then 
     165   TARGETS="$TARGETS cppunit" 
     166fi 
     167 
     168if test -d "$OPENAL_ROOT/include/AL" ; then 
     169   TARGETS="$TARGETS openal" 
     170fi 
     171 
     172case $CXX_ORB_NAME in 
     173   omniORB3) 
     174      have_cxx_orb='Y' 
     175      ;; 
     176   omniORB4) 
     177      have_cxx_orb='Y' 
     178      ;; 
     179   *) 
     180      have_cxx_orb='N' 
     181      ;; 
     182esac 
     183 
     184if test "x$have_cxx_orb" = "xY" ; then 
     185   if test -d "$CXX_ORB_ROOT/include/$CXX_ORB_NAME" ; then 
     186      TARGETS="$TARGETS $CXX_ORB_NAME" 
     187      OMNIORB_CMDS='catior convertior genior nameclt omkdepend omniMapper omniNames omnicpp omniidl omniidlrun.py' 
     188 
     189      if test "x$CXX_ORB_BIN_DIR" = "xnone" ; then 
     190         CXX_ORB_BIN_DIR="$CXX_ORB_ROOT/bin" 
     191      fi 
     192 
     193      if test "x$CXX_ORB_LIB_DIR" = "xnone" ; then 
     194         CXX_ORB_LIB_DIR="$CXX_ORB_ROOT/lib" 
     195      fi 
     196   fi 
    102197fi 
    103198 
     
    105200# Do Makefile substitutions. 
    106201# ----------------------------------------------------------------------------- 
    107  
    108 #UNIX_EXTROOT_ABS="$EXTROOT_ABS" 
    109 #UNIX_JUGGLERROOT_ABS="$JUGGLERROOT_ABS" 
    110202 
    111203if test "x$OS_TYPE" = "xWin32" ; then 
     
    124216AC_SUBST(TARGETS) 
    125217 
    126 AC_OUTPUT(Makefile) 
     218AC_SUBST(BOOST_ROOT) 
     219AC_SUBST(BOOST_INCLUDES) 
     220AC_SUBST(CPPDOM_ROOT) 
     221AC_SUBST(GMTL_ROOT) 
     222 
     223AC_SUBST(AUDIERE_ROOT) 
     224AC_SUBST(CPPUNIT_ROOT) 
     225AC_SUBST(CXX_ORB_NAME) 
     226AC_SUBST(CXX_ORB_ROOT) 
     227AC_SUBST(CXX_ORB_BIN_DIR) 
     228AC_SUBST(CXX_ORB_LIB_DIR) 
     229AC_SUBST(OPENAL_ROOT) 
     230 
     231AC_SUBST(OMNIORB_CMDS) 
     232AC_SUBST(PYTHON_DIR) 
     233AC_SUBST(PYTHON_VERSION) 
     234 
     235AC_CONFIG_FILES(Makefile) 
     236 
     237AC_OUTPUT