Edited INSTALL for new make and installation procedures.
Checking in a fix for Norman Vine Added helprules and help.sh for a long-winded help message if you 'make help'.
This commit is contained in:
98
INSTALL
98
INSTALL
@@ -38,6 +38,15 @@ eventually need them.
|
||||
If you haven't already checked it out, for a list of distribution contents,
|
||||
contacts and links to documentation check out index.html.
|
||||
|
||||
Compiling under all (UNIX - including CYGWIN) Platforms
|
||||
-------------------------------------------------------
|
||||
|
||||
Building the OSG requires 'gmake', due to the extensive use of gmake
|
||||
directives in the Makefiles. You can get gmake from here if you don't
|
||||
already have it installed:
|
||||
|
||||
http://www.gnu.org/software/make/
|
||||
|
||||
|
||||
Compiling under Linux
|
||||
---------------------
|
||||
@@ -46,23 +55,22 @@ Compiling under Linux
|
||||
|
||||
make
|
||||
|
||||
Note, make should automatically detect linux and copy the
|
||||
Make/makerules.linux and Make/makedefs.linux over the
|
||||
default Make/makerules and Make/makedefs. If autodetection
|
||||
does not work type 'make linux'.
|
||||
Note, make should automatically detect linux and build
|
||||
optimized targets for your system.
|
||||
|
||||
And if you wish to install the OSG to /usr/include/ &
|
||||
/usr/lib then su root, and type:
|
||||
And if you wish to install the OSG type:
|
||||
|
||||
make install
|
||||
|
||||
or
|
||||
|
||||
make instlinks
|
||||
|
||||
|
||||
To get full details of make options, type:
|
||||
|
||||
make help
|
||||
|
||||
(highly recommended)
|
||||
|
||||
|
||||
The osgText library now depends upon GLU1.3 functionality, and only
|
||||
@@ -76,12 +84,14 @@ Compiling under Linux
|
||||
Compiling under FreeBSD
|
||||
-----------------------
|
||||
|
||||
To compile, from the OSG root directory, type :
|
||||
To compile, from the OSG root directory, type:
|
||||
|
||||
make freebsd
|
||||
make
|
||||
|
||||
Note, make should automatically detect your system and build
|
||||
optimized targets for your system.
|
||||
|
||||
And if you wish to install the OSG to /usr/include/ &
|
||||
/usr/lib then su root, and type:
|
||||
And if you wish to install the OSG type:
|
||||
|
||||
make install
|
||||
|
||||
@@ -93,6 +103,9 @@ Compiling under FreeBSD
|
||||
|
||||
make help
|
||||
|
||||
(highly recommended)
|
||||
|
||||
|
||||
|
||||
Compiling under IRIX
|
||||
--------------------
|
||||
@@ -103,17 +116,14 @@ Compiling under IRIX
|
||||
unwildy to support and is very rarely used in the OSG commiunity.
|
||||
It is recommended to use MIPSPro7.3.1.1m.
|
||||
|
||||
To compile, from the OSG root directory, type :
|
||||
To compile, from the OSG root directory, type:
|
||||
|
||||
make
|
||||
|
||||
Note, make should automatically detect your system and build
|
||||
optimized targets for your system.
|
||||
|
||||
Note, make should automatically detect IRIX and copy the
|
||||
Make/makerules.irix.std and Make/makedefs.irix.std over the
|
||||
default Make/makerules and Make/makedefs. If autodetection
|
||||
does not work type 'make irix'.
|
||||
|
||||
And if you wish to install the OSG to /usr/include/ &
|
||||
/usr/lib then su root, and type:
|
||||
And if you wish to install the OSG type:
|
||||
|
||||
make install
|
||||
|
||||
@@ -125,6 +135,32 @@ Compiling under IRIX
|
||||
|
||||
make help
|
||||
|
||||
(highly recommended)
|
||||
|
||||
Compiling under Solaris
|
||||
-----------------------
|
||||
|
||||
To compile, from the OSG root directory, type:
|
||||
|
||||
make
|
||||
|
||||
Note, make should automatically detect your system and build
|
||||
optimized targets for your system.
|
||||
|
||||
And if you wish to install the OSG type:
|
||||
|
||||
make install
|
||||
|
||||
or
|
||||
|
||||
make instlinks
|
||||
|
||||
To get full details of make options, type:
|
||||
|
||||
make help
|
||||
|
||||
(highly recommended)
|
||||
|
||||
|
||||
Compiling under Windows
|
||||
-----------------------
|
||||
@@ -246,6 +282,30 @@ Compiling under MacOS X (instructions written by Phil Atkin)
|
||||
forewarned is forearmed.
|
||||
|
||||
|
||||
Compiling under Cygwin
|
||||
----------------------
|
||||
|
||||
To compile, from the OSG root directory, type:
|
||||
|
||||
make
|
||||
|
||||
Note, make should automatically detect your system and build
|
||||
optimized targets for your system.
|
||||
|
||||
And if you wish to install the OSG type:
|
||||
|
||||
make install
|
||||
|
||||
Note that make symbolic links don't seem to work under
|
||||
cygwin, so a make instlinks will simply copy files just like
|
||||
make install. 'make install' places all files in
|
||||
/usr/local/OpenSceneGraph under appropriate subdirectories.
|
||||
|
||||
To get full details of make options, type:
|
||||
|
||||
make help
|
||||
|
||||
(highly recommended)
|
||||
|
||||
OSGFILEPATH environmental variable
|
||||
----------------------------------
|
||||
|
||||
151
Make/help.sh
Normal file
151
Make/help.sh
Normal file
@@ -0,0 +1,151 @@
|
||||
#!/bin/sh
|
||||
|
||||
OS=$1
|
||||
TOPDIR=$2
|
||||
INST_LIBS=$3
|
||||
INST_PLUGINS=$4
|
||||
INST_INCLUDE=$5
|
||||
INST_DEMOS=$6
|
||||
INST_DEMO_SRC=$7
|
||||
INST_DOC=$8
|
||||
INST_DATA=$9
|
||||
|
||||
|
||||
cat <<- EOF
|
||||
|
||||
The following targets can be used with any subsystem as well as the top
|
||||
level build (build in the OSG Root directory). Note that debug versions
|
||||
and optimized version of targets reside in parallel.
|
||||
|
||||
make - Same as 'make opt'
|
||||
make opt - Makes optimized versions of all targets
|
||||
make debug - Makes debug versions of all targets.
|
||||
make clean - Removes all object files (both optimized and debug
|
||||
versions)
|
||||
make cleanopt - Removes optimized version of object files
|
||||
make cleandbg - Removes debug version of object files
|
||||
make cleanlite - Removes only targets but leaves object files (both
|
||||
optimized and debug versions)
|
||||
make cleanliteopt - Removes only optimized targets but leaves optimized
|
||||
objects files.
|
||||
make cleanlitedbg - Removes only debug targets but leaves debug object
|
||||
files
|
||||
make clobber - Removes object files and targets (both optimized and
|
||||
debug versions)
|
||||
make clobberopt - Removes optimized object files and targets
|
||||
make clobberdbg - Removes debug object files and targets
|
||||
make beautify - Pretty print C++ files
|
||||
make docs - Builds documentation database for current target
|
||||
make depend - Force a rebuild of the dependency file. Note that
|
||||
dependency files are generated automatically during
|
||||
builds.
|
||||
|
||||
|
||||
Solars and IRIX can build 64 bit targets. These require the ARCH=64 argument.
|
||||
For example:
|
||||
|
||||
make ARCH=64 - Same as 'make ARCH=64 opt'
|
||||
make ARCH=64 opt - Builds 64 bit optimized targets
|
||||
make ARCH=64 debug - Builds 64 bit debug versions of targets
|
||||
make ARCH=64 clean - Removes all 64 bit object files (both optimized and
|
||||
debug versions).
|
||||
|
||||
etc.
|
||||
|
||||
The following targets may only be issued from the top-level OSG build:
|
||||
|
||||
make install - Install both execution environment and development
|
||||
targets
|
||||
make instbin - Install execution environment targets only. These
|
||||
consist of libraries, plugins and demo programs.
|
||||
Libraries are installed in
|
||||
o $INST_LIBS,
|
||||
plugins are installed in
|
||||
o $INST_PLUGINS,
|
||||
and demos are installed in
|
||||
o $INST_DEMOS
|
||||
on $OS
|
||||
|
||||
make instdev - Install development targets only. These consist of
|
||||
header files, source code to the demo programs, and
|
||||
documentation.
|
||||
Header files are install in
|
||||
o $INST_INCLUDE,
|
||||
demo source code is installed in
|
||||
o $INST_DEMO_SRC,
|
||||
and documentation is installed in
|
||||
o $INST_DOC
|
||||
on $OS
|
||||
|
||||
make instlinks - Installs symbolic links at install locations for both
|
||||
execution environment and development targets rather
|
||||
than copyied files. Installing links is ideal for a
|
||||
development environment for avoiding confusion about
|
||||
which binaries are being run or linked to.
|
||||
|
||||
make instlinksbin - Installs symbolic links at install locations for
|
||||
execution environment targets only.
|
||||
make instlinksdev - Installs symbolic links at install locations for
|
||||
development targets only
|
||||
make instclean - Removes installed targets (files or links) from
|
||||
installation locations for both execution environment
|
||||
and development targets
|
||||
make instcleanbin - Removes installed targets from installation locations
|
||||
for execution environment targets only
|
||||
make instcleandev - Removes installed targets from installation locations
|
||||
for defelopment targets only
|
||||
|
||||
Note that the following variables can be used to directly override the default
|
||||
installation locations for $OS.
|
||||
|
||||
make INST_LIBS=<libs_location> \\
|
||||
INST_PLUGINS=<plugins_location>\\
|
||||
INST_INCLUDE=<header_file_location>\\
|
||||
INST_DEMOS=<demos_location>\\
|
||||
INST_DEMO_SRC=<demo_src_location>\\
|
||||
INST_DOC=<doc_location>\\
|
||||
install
|
||||
|
||||
- Installs libraries in <libs_location>, plugins in
|
||||
<plugins_location>, header files in
|
||||
<header_file_location>, demos in <demos_location>,
|
||||
demo source code in <demo_src_location> and
|
||||
documentation in <doc_location>
|
||||
|
||||
Note also that INST_LIBS, INST_PLUGINS, and INST_INCLUDE share a common
|
||||
prefix by default: INST_SYS_PREFIX. Further INST_DEMOS, INST_DEMOS_SRC,
|
||||
INST_DOC, and INST_DATA share a common prefix by default : INST_SHARE_PREFIX.
|
||||
This provides a short cut for the above 'make' usage. For example,
|
||||
|
||||
make INST_SYS_PREFIX=/usr/local/OpenSceneGraph \\
|
||||
INST_SHARE_PREFIX=/usr/share/OpenSceneGraph \\
|
||||
install
|
||||
|
||||
|
||||
These values can be tested by reissuing 'make help' with these arguments.
|
||||
|
||||
After doing a 'make install' or 'make instlinks', and if not already added,
|
||||
add
|
||||
|
||||
$INST_DEMOS
|
||||
|
||||
to your PATH environmental variable to run the demos. If it is not already
|
||||
present, add
|
||||
|
||||
$INST_LIBS
|
||||
|
||||
and
|
||||
|
||||
$INST_PLUGINS
|
||||
|
||||
to your LD_LIBRARY_PATH environmental variable. When compiling programs
|
||||
using OSG headers add to your -I compile flags:
|
||||
|
||||
$INST_INCLUDE
|
||||
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
11
Make/helprules
Normal file
11
Make/helprules
Normal file
@@ -0,0 +1,11 @@
|
||||
help:
|
||||
$(TOPDIR)/Make/help.sh\
|
||||
$(OS)\
|
||||
$(TOPDIR)\
|
||||
$(INST_LIBS)\
|
||||
$(INST_PLUGINS)\
|
||||
$(INST_INCLUDE)\
|
||||
$(INST_DEMOS)\
|
||||
$(INST_DEMO_SRC)\
|
||||
$(INST_DOC)\
|
||||
$(INST_DATA) | more
|
||||
@@ -7,6 +7,13 @@ instbin :
|
||||
INSTALL?="$(INSTBINCMD)" __install
|
||||
@$(MAKE) INSTSRC=$(TOPDIR)/lib/osgPlugins INSTDEST=$(INST_PLUGINS)\
|
||||
INSTALL?="$(INSTBINCMD)" __install
|
||||
@echo
|
||||
@echo " Execution environment installation successful. Add"
|
||||
@echo " $(INST_DEMOS)"
|
||||
@echo " to your PATH environmental variable, and "
|
||||
@echo " $(INST_LIBS) and $(INST_PLUGINS)"
|
||||
@echo " to your LD_LIBRARY_PATH if not already present."
|
||||
@echo
|
||||
|
||||
|
||||
instdev :
|
||||
@@ -26,6 +33,12 @@ instdev :
|
||||
INSTALL?="$(INSTDEVCMD)" __install;\
|
||||
fi\
|
||||
done
|
||||
@echo
|
||||
@echo " Development environment installation successful. Add"
|
||||
@echo " -I/$(INST_INCLUDE)"
|
||||
@echo " compile flag when compiling with OSG header files."
|
||||
@echo " Example programs can be found at $(INST_DEMOS_SRC)."
|
||||
@echo
|
||||
|
||||
instlinks : instlinksbin instlinksdev
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ INST_INCLUDE = $(INST_SYS_PREFIX)/include
|
||||
INST_SHARE_PREFIX = /usr/share
|
||||
INST_DEMOS = $(INST_SHARE_PREFIX)/OpenSceneGraph/bin
|
||||
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/OpenSceneGraph/src/demos
|
||||
INST_DOC = $(INST_SHARE_REFIX)/OpenSceneGraph/doc
|
||||
INST_DOC = $(INST_SHARE_PREFIX)/OpenSceneGraph/doc
|
||||
INST_DATA = $(INST_SHARE_PREFIX)/OpenSceneGraph/data
|
||||
|
||||
LINK = ln -sf
|
||||
@@ -57,7 +57,7 @@ PLUGIN_EXT = so
|
||||
|
||||
MAKEDIST = echo " === Distribution build is not implemented yet for $(OS)"; printf "\n"
|
||||
|
||||
ALL_TARGETS = \
|
||||
RECURSIVE_TARGETS = \
|
||||
opt\
|
||||
debug\
|
||||
clean\
|
||||
@@ -67,6 +67,8 @@ ALL_TARGETS = \
|
||||
cleanliteopt\
|
||||
cleanlitedbg\
|
||||
clobber\
|
||||
clobberdbg\
|
||||
clobberopt\
|
||||
beautify\
|
||||
docs\
|
||||
depend\
|
||||
@@ -185,7 +187,7 @@ ifeq ($(OS),FreeBSD)
|
||||
|
||||
endif
|
||||
|
||||
#### Mac OSX specific definitions
|
||||
#### MacOS X specific definitions
|
||||
ifeq ($(OS),Darwin)
|
||||
C++ = cc
|
||||
INC += -I/usr/include -I/sw/include
|
||||
@@ -258,12 +260,22 @@ ifeq ($(OS),CYGWIN)
|
||||
FREETYPE_LIB = -lfreetype2
|
||||
|
||||
|
||||
LIB_PREFIX = cyg
|
||||
LIB_EXT = dll
|
||||
PLUGIN_PREFIX = cygosgdb_
|
||||
PLUGIN_EXT = dll
|
||||
LIB_PREFIX = cyg
|
||||
LIB_EXT = dll
|
||||
PLUGIN_PREFIX = cygosgdb_
|
||||
PLUGIN_EXT = dll
|
||||
|
||||
LINK = cp -f
|
||||
LINK = cp -f
|
||||
|
||||
INST_SYS_PREFIX = /usr/local/OpenSceneGraph
|
||||
INST_LIBS = $(INST_SYS_PREFIX)/bin
|
||||
INST_PLUGINS = $(INST_SYS_PREFIX)/bin
|
||||
INST_INCLUDE = $(INST_SYS_PREFIX)/include
|
||||
INST_SHARE_PREFIX = /usr/local/OpenSceneGraph
|
||||
INST_DEMOS = $(INST_SHARE_PREFIX)/bin
|
||||
INST_DEMO_SRC = $(INST_SHARE_PREFIX)/src/demos
|
||||
INST_DOC = $(INST_SHARE_PREFIX)/doc
|
||||
INST_DATA = $(INST_SHARE_PREFIX)/data
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
default : $(DIRS)
|
||||
@for f in $(DIRS); do cd $$f; $(MAKE) $@ || exit 1; cd ..; done
|
||||
|
||||
$(ALL_TARGETS) : $(DIRS)
|
||||
$(RECURSIVE_TARGETS) : $(DIRS)
|
||||
@for f in $(DIRS); do cd $$f; $(MAKE) $@ || exit 1; cd ..; done
|
||||
|
||||
@@ -46,6 +46,7 @@ docs:
|
||||
echo "$(TARGET_BASENAME) HTML documentation created in "\
|
||||
"$(TOPDIR)/doc/doc++/$(TARGET_BASENAME)"
|
||||
|
||||
|
||||
$(EXEC) : $(OBJS)
|
||||
$(C++) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
|
||||
|
||||
|
||||
1
Makefile
1
Makefile
@@ -6,3 +6,4 @@ DIRS = src
|
||||
include $(TOPDIR)/Make/makedirrules
|
||||
include $(TOPDIR)/Make/instrules
|
||||
include $(TOPDIR)/Make/distrules
|
||||
include $(TOPDIR)/Make/helprules
|
||||
|
||||
@@ -225,18 +225,26 @@ std::string Registry::createLibraryNameForExt(const std::string& ext)
|
||||
ExtensionAliasMap::iterator itr=_extAliasMap.find(ext);
|
||||
if (itr!=_extAliasMap.end()) return createLibraryNameForExt(itr->second);
|
||||
|
||||
#if defined(WIN32)
|
||||
#if defined(WIN32) // [
|
||||
// !! recheck evolving Cygwin DLL extension naming protocols !! NHV
|
||||
# ifdef _DEBUG
|
||||
#ifdef __CYGWIN__ // [
|
||||
# ifdef _DEBUG // [
|
||||
return "cygosgdb_"+ext+"d.dll";
|
||||
# else // ][
|
||||
return "cygosgdb_"+ext+".dll";
|
||||
# endif // ]
|
||||
#else // ][
|
||||
# ifdef _DEBUG // [
|
||||
return "osgdb_"+ext+"d.dll";
|
||||
# else
|
||||
# else // ][
|
||||
return "osgdb_"+ext+".dll";
|
||||
# endif
|
||||
#elif macintosh
|
||||
# endif // ]
|
||||
#endif // ]
|
||||
#elif macintosh // ][
|
||||
return "osgdb_"+ext;
|
||||
#else
|
||||
#else // ][
|
||||
return "osgdb_"+ext+".so";
|
||||
#endif
|
||||
#endif // ]
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user