summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2011-03-07 15:54:50 +0100
committerHans Ulrich Niedermann <hun@n-dimensional.de>2011-03-07 20:55:24 +0100
commitb40bd26252b6753af9dbb95d4fc033c8d56bf191 (patch)
treeb28949e8a7b0e27d05f373c785236a1bb1c47660
parent08d2fd4a122cbcab1d1a179471d146ac6c4b5f66 (diff)
downloadrasdaman-upstream-b40bd26252b6753af9dbb95d4fc033c8d56bf191.tar.gz
rasdaman-upstream-b40bd26252b6753af9dbb95d4fc033c8d56bf191.tar.xz
rasdaman-upstream-b40bd26252b6753af9dbb95d4fc033c8d56bf191.zip
install: Use custom subdir for libs, data, headers
Redefine $(pkgdatadir), $(pkgincludedir) and $(pkglibdir) in order to make the subdir component configurable with the RDM_SUBDIR variable. Then install all libraries and include files to the package specific subdirectories, as their names are far too generic to allow general system wide installation, such as e.g. "bool.h" or "libnetwork.a". Move some very custom and non-general scripts (some with generic names) to a new $(pkglibdir)/bin/ subdir.
-rw-r--r--Makefile.am2
-rw-r--r--bin/Makefile.am2
-rw-r--r--catalogmgr/Makefile.am2
-rw-r--r--clientcomm/Makefile.am2
-rw-r--r--commline/Makefile.am2
-rw-r--r--compression/Makefile.am2
-rw-r--r--configure.ac20
-rw-r--r--conversion/Makefile.am2
-rw-r--r--httpserver/Makefile.am2
-rw-r--r--include/Makefile.am2
-rw-r--r--indexmgr/Makefile.am2
-rw-r--r--insertutils/Makefile.am2
-rw-r--r--manuals_and_examples/Makefile.am7
-rw-r--r--manuals_and_examples/examples/c++/Makefile10
-rw-r--r--mddmgr/Makefile.am2
-rw-r--r--network/Makefile.am2
-rw-r--r--qlparser/Makefile.am2
-rw-r--r--raslib/Makefile.am2
-rw-r--r--rasodmg/Makefile.am2
-rw-r--r--reladminif/Makefile.am2
-rw-r--r--relblobif/Makefile.am2
-rw-r--r--relcatalogif/Makefile.am2
-rw-r--r--relindexif/Makefile.am2
-rw-r--r--relmddif/Makefile.am2
-rw-r--r--relstorageif/Makefile.am2
-rw-r--r--servercomm/Makefile.am2
-rw-r--r--storagemgr/Makefile.am2
-rw-r--r--tilemgr/Makefile.am2
28 files changed, 55 insertions, 32 deletions
diff --git a/Makefile.am b/Makefile.am
index 5d044da..5117637 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,7 +33,7 @@ AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
-nobase_include_HEADERS=raslib/*.h raslib/*.hh raslib/*.icc raslib/*.cc \
+nobase_pkginclude_HEADERS=raslib/*.h raslib/*.hh raslib/*.icc raslib/*.cc \
rasodmg/*.hh rasodmg/*.cc rasodmg/*.icc conversion/*.h conversion/*.hh \
compression/*.hh clientcomm/*.h clientcomm/*.hh
diff --git a/bin/Makefile.am b/bin/Makefile.am
index 10c8a01..72a45fe 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -22,7 +22,7 @@
#
###################################################################
-bin_SCRIPTS = start_rasdaman.sh stop_rasdaman.sh create_db.sh
+rdmexecbin_SCRIPTS = start_rasdaman.sh stop_rasdaman.sh create_db.sh
EXTRA_DIST = stop_rasdaman.sh.in start_rasdaman.sh.in create_db.sh.in rasmgr.conf.in
CLEANFILES = start_rasdaman.sh stop_rasdaman.sh create_db.sh rasmgr.conf
dist_sysconf_DATA=rasmgr.conf
diff --git a/catalogmgr/Makefile.am b/catalogmgr/Makefile.am
index ba33b49..3f5669f 100644
--- a/catalogmgr/Makefile.am
+++ b/catalogmgr/Makefile.am
@@ -32,7 +32,7 @@ AM_CXXFLAGS= $(BASEDBCXXFLAGS)
AM_LDFLAGS= $(BASEDBLDFLAGS)
# object files to put in library
-lib_LIBRARIES=libcatalogmgr.a
+pkglib_LIBRARIES=libcatalogmgr.a
libcatalogmgr_a_SOURCES=ops.cc typefactory.cc algebraops.cc ops.hh \
typefactory.hh algebraops.hh autogen_ops.hh
EXTRA_libcatalogmgr_a_SOURCES = autogen_ops.cc
diff --git a/clientcomm/Makefile.am b/clientcomm/Makefile.am
index 4aa5356..6c2f3a9 100644
--- a/clientcomm/Makefile.am
+++ b/clientcomm/Makefile.am
@@ -32,7 +32,7 @@
AM_CXXFLAGS = @CLIENTCXXFLAGS@
AM_LDFLAGS = @CLIENTLDFLAGS@
-lib_LIBRARIES=libclientcomm.a
+pkglib_LIBRARIES=libclientcomm.a
libclientcomm_a_SOURCES = rpcif_clnt.cc rpcif_xdr.c rpcif.h \
clientcomm.cc clientcomm.hh rpcclientcomm.cc \
rpcclientcomm.hh clientcomm.icc \
diff --git a/commline/Makefile.am b/commline/Makefile.am
index 2d683d0..991510c 100644
--- a/commline/Makefile.am
+++ b/commline/Makefile.am
@@ -27,5 +27,5 @@
#
##################################################################
-lib_LIBRARIES=libcommline.a
+pkglib_LIBRARIES=libcommline.a
libcommline_a_SOURCES=cmlparser.cc cmlparser.hh
diff --git a/compression/Makefile.am b/compression/Makefile.am
index 4cff362..a21966f 100644
--- a/compression/Makefile.am
+++ b/compression/Makefile.am
@@ -31,5 +31,5 @@
AM_CXXFLAGS=@CLIENTCXXFLAGS@
AM_LDFLAGS=@CLIENTLDFLAGS@
-lib_LIBRARIES = libcompression.a
+pkglib_LIBRARIES = libcompression.a
libcompression_a_SOURCES=tilecompression.cc tilecompression.hh tilecompnone.cc tilecompnone.hh
diff --git a/configure.ac b/configure.ac
index adc954d..955d535 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,6 +9,16 @@ AM_INIT_AUTOMAKE()
# Define CXXFLAGS before AC_PROG_CXX or it will automatically add -g -O2 on some systems
CXXFLAGS=
GCJFLAGS=
+
+# rasdaman specific subdirectory component to install in
+AC_ARG_VAR([RDM_SUBDIR],
+ [subdirectory component to install in, e.g. rasdaman8 or rasdaman])
+AS_IF([test "x$RDM_SUBDIR" = "x"],
+ [RDM_SUBDIR="\${PACKAGE}"])
+AC_SUBST([RDM_SUBDIR])
+AC_MSG_CHECKING([install subdirectory name])
+AC_MSG_RESULT([$RDM_SUBDIR])
+
# Checks for programs.
AC_PROG_CXX
AC_PROG_AWK
@@ -231,7 +241,7 @@ AC_ARG_WITH([logdir],
[AS_HELP_STRING([--with-logdir=PATH],
[the path where the servers will store their logs])],
[logdir="$withval"],
- [logdir="\${localstatedir}/log/\${PACKAGE}"])
+ [logdir="\${localstatedir}/log/\${RDM_SUBDIR}"])
# --------------- Database Specific Configuration ------------------
####################################################################
@@ -317,6 +327,14 @@ AC_DEFINE_UNQUOTED([COMPDATE], ["$COMPDATE"])
CXXFLAGS+=" -I$abs_top_srcdir -I$abs_top_srcdir/debug -I$abs_top_srcdir/include"
+# Our special install locations
+AC_SUBST([pkgdatadir], ["\${datadir}/\${RDM_SUBDIR}"])
+AC_SUBST([pkglibdir], ["\${libdir}/\${RDM_SUBDIR}"])
+AC_SUBST([pkgincludedir], ["\${includedir}/\${RDM_SUBDIR}"])
+# The "exec" part of the name is important for automake to include
+# this in install-exec instead of install-data.
+AC_SUBST([rdmexecbindir], ["\${pkglibdir}/bin"])
+
# --------------- System Test Settings -----------------------------
####################################################################
diff --git a/conversion/Makefile.am b/conversion/Makefile.am
index 397f69f..751ff38 100644
--- a/conversion/Makefile.am
+++ b/conversion/Makefile.am
@@ -29,7 +29,7 @@
#
##################################################################
-lib_LIBRARIES=libconversion.a
+pkglib_LIBRARIES=libconversion.a
libconversion_a_SOURCES= convertor.cc convfactory.cc tiff.cc hdf.cc png.cc jpeg.cc \
csv.cc bmp.cc vff.cc tor.cc dem.cc ecw.cc memfs.cc \
convertor.hh convfactory.hh tiff.hh hdf.hh png.hh jpeg.hh \
diff --git a/httpserver/Makefile.am b/httpserver/Makefile.am
index 21dad8c..6a26c0a 100644
--- a/httpserver/Makefile.am
+++ b/httpserver/Makefile.am
@@ -24,7 +24,7 @@
#
##################################################################
-lib_LIBRARIES=libhttpserver.a
+pkglib_LIBRARIES=libhttpserver.a
AM_CFLAGS=$(CXXFLAGS)
libhttpserver_a_SOURCES= types.h http.h server.h defs.h http-defs.h protos.h \
logging.cc signals.cc config.cc support.cc childs.cc init.cc \
diff --git a/include/Makefile.am b/include/Makefile.am
index 61042ff..9f79a2a 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -22,4 +22,4 @@
#
###################################################################
-include_HEADERS=*.h *.hh
+pkginclude_HEADERS=*.h *.hh
diff --git a/indexmgr/Makefile.am b/indexmgr/Makefile.am
index 09cbf20..6303ef9 100644
--- a/indexmgr/Makefile.am
+++ b/indexmgr/Makefile.am
@@ -29,7 +29,7 @@
#
##################################################################
-lib_LIBRARIES=libindexmgr.a
+pkglib_LIBRARIES=libindexmgr.a
libindexmgr_a_SOURCES= mddobjix.cc transdirix.cc keyobject.cc srptindexlogic.cc \
sdirindexlogic.cc indexds.cc hierindexds.cc srcindexlogic.cc \
mddobjix.hh transdirix.hh keyobject.hh srptindexlogic.hh \
diff --git a/insertutils/Makefile.am b/insertutils/Makefile.am
index 6bec197..d2bf0c0 100644
--- a/insertutils/Makefile.am
+++ b/insertutils/Makefile.am
@@ -32,7 +32,7 @@
AM_CXXFLAGS = $(COMMCXXFLAGS)
AM_LDFLAGS = $(COMMLDFLAGS)
bin_PROGRAMS = insertppm
-bin_SCRIPTS = insertdemo.sh
+rdmexecbin_SCRIPTS = insertdemo.sh
insertppm_SOURCES=insertppm.cc ../mymalloc/mymalloc_cln.cc
insertppm_LDADD=../rasodmg/librasodmg.a ../clientcomm/libclientcomm.a \
../compression/libcompression.a ../conversion/libconversion.a \
diff --git a/manuals_and_examples/Makefile.am b/manuals_and_examples/Makefile.am
index c8c48ea..9d50775 100644
--- a/manuals_and_examples/Makefile.am
+++ b/manuals_and_examples/Makefile.am
@@ -30,8 +30,11 @@ dest_Makefile=$(DESTDIR)$(pkgdatadir)/examples/c++/Makefile
install-data-hook:
-# Set the rasdaman installation root to allow Make finding
-# include/ and lib/ for the C++ examples.
- sed 's|~~~rmanhome~~~|$(prefix)|' <$(dest_Makefile) >$(dest_Makefile).new
- mv $(dest_Makefile).new $(dest_Makefile)
+ $(SED) \
+ -e 's|[@]pkgincludedir@|$(pkgincludedir)|g' \
+ -e 's|[@]pkglibdir@|$(pkglibdir)|g' \
+ < $(dest_Makefile) > $(dest_Makefile).new
+ mv -f $(dest_Makefile).new $(dest_Makefile)
-# install documentation
(cd ..; doxygen manuals_and_examples/doxygen-all.cfg)
(cd ..; doxygen manuals_and_examples/doxygen-api.cfg)
diff --git a/manuals_and_examples/examples/c++/Makefile b/manuals_and_examples/examples/c++/Makefile
index 9ce9174..9dfd548 100644
--- a/manuals_and_examples/examples/c++/Makefile
+++ b/manuals_and_examples/examples/c++/Makefile
@@ -33,16 +33,18 @@
##################################################################
######################### Definitions ############################
-# RMANHOME will be updated with a proper value after "make install"
-RMANHOME=~~~rmanhome~~~
+# These will be updated with a proper value after "make install"
+pkgincludedir = @pkgincludedir@
+pkglibdir = @pkglibdir@
+
# RasDaMan central includes
-CXXFLAGS += -I$(RMANHOME)/include
+CXXFLAGS += -I$(pkgincludedir)
CXXFLAGS += -DLINUX -DEARLY_TEMPLATE
# add communication flags
CXXFLAGS += -DONCRPC
# libraries needed for linkage (in particular: rasdaman + exchange formats)
-LIBS += -L/usr/lib -L$(RMANHOME)/lib \
+LIBS += -L/usr/lib -L$(pkglibdir) \
-lclientcomm -lrasodmg -lcompression -lconversion -lclientcomm -lrasodmg -lraslib \
-lnetwork -lnetpbm -ljpeg -lpng -ltiff -lmfhdf -ldf -lcrypto \
-lm -lz
diff --git a/mddmgr/Makefile.am b/mddmgr/Makefile.am
index afcd4e6..f0324a5 100644
--- a/mddmgr/Makefile.am
+++ b/mddmgr/Makefile.am
@@ -30,7 +30,7 @@
AM_CXXFLAGS=@BASEDBCXXFLAGS@
-lib_LIBRARIES= libmddmgr.a
+pkglib_LIBRARIES= libmddmgr.a
libmddmgr_a_SOURCES= mddobj.cc mddobj.hh \
mddcoll.cc mddcoll.hh \
mddcolliter.cc mddcolliter.icc mddcolliter.hh
diff --git a/network/Makefile.am b/network/Makefile.am
index b64acaf..c5315f1 100644
--- a/network/Makefile.am
+++ b/network/Makefile.am
@@ -28,7 +28,7 @@
#
##################################################################
-lib_LIBRARIES=libnetwork.a
+pkglib_LIBRARIES=libnetwork.a
libnetwork_a_SOURCES= akgnet_commbuffer.cc akgnet_commbuffer.hh \
akgnet_file.cc akgnet_file.hh \
akgnet_nbcomm.cc akgnet_nbcomm.hh \
diff --git a/qlparser/Makefile.am b/qlparser/Makefile.am
index 47fba6f..4d5ce41 100644
--- a/qlparser/Makefile.am
+++ b/qlparser/Makefile.am
@@ -30,7 +30,7 @@
#
##################################################################
-lib_LIBRARIES=libqlparser.a
+pkglib_LIBRARIES=libqlparser.a
# -I gnererates an interactive scanner which doesn't try to look ahead past a newline
# -i generates a scanner which doesn't care about upper and lower case; doesn't work
diff --git a/raslib/Makefile.am b/raslib/Makefile.am
index c20d487..34d9ee0 100644
--- a/raslib/Makefile.am
+++ b/raslib/Makefile.am
@@ -31,7 +31,7 @@
AM_CXXFLAGS=@CLIENTCXXFLAGS@
AM_LDFLAGS=@CLIENTLDFLAGS@
-lib_LIBRARIES=libraslib.a
+pkglib_LIBRARIES=libraslib.a
libraslib_a_SOURCES= sinterval.hh dlist.hh point.hh minterval.hh error.hh \
rmdebug.hh rminit.hh metaobject.hh type.hh marraytype.hh \
basetype.hh primitivetype.hh sintervaltype.hh \
diff --git a/rasodmg/Makefile.am b/rasodmg/Makefile.am
index d6c8348..dc720e5 100644
--- a/rasodmg/Makefile.am
+++ b/rasodmg/Makefile.am
@@ -31,7 +31,7 @@
AM_CXXFLAGS=@CLIENTCXXFLAGS@
AM_LDFLAGS=@CLIENTLDFLAGS@
-lib_LIBRARIES=librasodmg.a
+pkglib_LIBRARIES=librasodmg.a
librasodmg_a_SOURCES = collection.cc collection.hh collection.icc \
set.cc set.hh \
diff --git a/reladminif/Makefile.am b/reladminif/Makefile.am
index 8c8e712..dae8ff3 100644
--- a/reladminif/Makefile.am
+++ b/reladminif/Makefile.am
@@ -38,7 +38,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=libreladminif.a
+pkglib_LIBRARIES=libreladminif.a
libreladminif_a_SOURCES=adminifcommon.cc adminif.hh databaseifcommon.cc databaseif.hh \
transactionifcommon.cc transactionif.hh sqlerror.hh \
oidifcommon.cc oidif.hh dbobject.cc dbobject.hh \
diff --git a/relblobif/Makefile.am b/relblobif/Makefile.am
index ca4b083..d6ac166 100644
--- a/relblobif/Makefile.am
+++ b/relblobif/Makefile.am
@@ -37,7 +37,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=librelblobif.a
+pkglib_LIBRARIES=librelblobif.a
librelblobif_a_SOURCES= blobtile.hh \
dbtile.cc dbtile.hh inlinetile.cc inlinetile.hh \
blobtilecommon.cc tileid.hh
diff --git a/relcatalogif/Makefile.am b/relcatalogif/Makefile.am
index d5492d0..add1d28 100644
--- a/relcatalogif/Makefile.am
+++ b/relcatalogif/Makefile.am
@@ -40,7 +40,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
.@EMBEDDEDSQLEXT@.@EMBEDDEDSQLOUT@:
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=librelcatalogif.a
+pkglib_LIBRARIES=librelcatalogif.a
librelcatalogif_a_SOURCES= type.C type.hh basetype.C basetype.hh atomictype.C ulongtype.C ulongtype.hh ushorttype.C ushorttype.hh \
booltype.C booltype.hh compositetype.C compositetype.hh structtypecommon.cc structtype.hh structtype.icc \
longtype.C longtype.hh shorttype.C shorttype.hh octettype.C octettype.hh doubletype.C doubletype.hh\
diff --git a/relindexif/Makefile.am b/relindexif/Makefile.am
index c7d2069..6ece7b4 100644
--- a/relindexif/Makefile.am
+++ b/relindexif/Makefile.am
@@ -33,7 +33,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
.@EMBEDDEDSQLEXT@.@EMBEDDEDSQLOUT@:
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=librelindexif.a
+pkglib_LIBRARIES=librelindexif.a
librelindexif_a_SOURCES=dbrcindexdscommon.cc dbrcindexds.hh \
dbtcindexcommon.cc dbtcindex.hh \
hierindexcommon.cc hierindex.hh \
diff --git a/relmddif/Makefile.am b/relmddif/Makefile.am
index 986a827..1bc9f82 100644
--- a/relmddif/Makefile.am
+++ b/relmddif/Makefile.am
@@ -36,7 +36,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
.@EMBEDDEDSQLEXT@.@EMBEDDEDSQLOUT@:
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=librelmddif.a
+pkglib_LIBRARIES=librelmddif.a
librelmddif_a_SOURCES=dbmddsetcommon.cc dbmddobj.hh dbmddset.hh dbiterid.hh mddid.hh
EXTRA_librelmddif_a_SOURCES= dbmddobj.pgc dbmddset.pgc
librelmddif_a_LIBADD=dbmddobj.$(OBJEXT) dbmddset.$(OBJEXT)
diff --git a/relstorageif/Makefile.am b/relstorageif/Makefile.am
index ba5b739..f316778 100644
--- a/relstorageif/Makefile.am
+++ b/relstorageif/Makefile.am
@@ -36,7 +36,7 @@ AM_LDFLAGS=@BASEDBLDFLAGS@
$(EMBEDDEDSQLPRECOMPILER) $@ $<
-lib_LIBRARIES=librelstorageif.a
+pkglib_LIBRARIES=librelstorageif.a
librelstorageif_a_SOURCES= dbstoragelayout.hh storageid.hh empty.cc
EXTRA_librelstorageif_a_SOURCES= dbstoragelayout.pgc
librelstorageif_a_LIBADD= dbstoragelayout.$(OBJEXT)
diff --git a/servercomm/Makefile.am b/servercomm/Makefile.am
index 7e0c1a8..43e527c 100644
--- a/servercomm/Makefile.am
+++ b/servercomm/Makefile.am
@@ -31,7 +31,7 @@
AM_CXXFLAGS=@BASEDBCXXFLAGS@
AM_LDFLAGS=@BASEDBLDFLAGS@
-lib_LIBRARIES=libservercomm.a
+pkglib_LIBRARIES=libservercomm.a
libservercomm_a_SOURCES=../clientcomm/rpcif_xdr.c ../clientcomm/rpcif_svc.cc servercomm.cc \
servercomm2.cc manager.cc callbackmgr.cc httpserver.cc \
../mymalloc/mymalloc_svc.cc ../mymalloc/mymalloc.h \
diff --git a/storagemgr/Makefile.am b/storagemgr/Makefile.am
index 53d93c0..8c8e8e9 100644
--- a/storagemgr/Makefile.am
+++ b/storagemgr/Makefile.am
@@ -28,7 +28,7 @@
#
##################################################################
-lib_LIBRARIES = libstoragemgr.a
+pkglib_LIBRARIES = libstoragemgr.a
libstoragemgr_a_SOURCES = sstoragelayout.cc sstoragelayout.hh \
stgmddconfig.cc stgmddconfig.hh
diff --git a/tilemgr/Makefile.am b/tilemgr/Makefile.am
index 53481df..8fc5157 100644
--- a/tilemgr/Makefile.am
+++ b/tilemgr/Makefile.am
@@ -29,5 +29,5 @@
#
##################################################################
-lib_LIBRARIES = libtilemgr.a
+pkglib_LIBRARIES = libtilemgr.a
libtilemgr_a_SOURCES = tile.cc tile.hh tile.icc tiler.cc tiler.hh