--- aclocal.m4 2008-05-14 17:07:19.000000000 +0200 +++ aclocal.m4 2011-01-17 01:47:54.000000000 +0100 @@ -10,7 +10,17 @@ SO_OPTS=-Wl,-soname, FPIC=-fPIC TARGET_LFLAGS= - DEFAULT_LIBRARY_TYPE=static + DEFAULT_LIBRARY_TYPE=relocatable + + AC_ARG_ENABLE(static, + [AC_HELP_STRING( + [--disable-static], + [Disable building of static libraries.]) +AC_HELP_STRING( + [--enable-static], + [Build static libraries.])], + [BUILD_STATIC=$enableval], + [BUILD_STATIC=yes]) AC_ARG_ENABLE(shared, [AC_HELP_STRING( @@ -20,10 +30,7 @@ [--enable-shared], [Build shared libraries if supported on the target Make them the installation default])], - [CAN_BUILD_SHARED=$enableval - if test $enableval = yes; then - DEFAULT_LIBRARY_TYPE=relocatable - fi], + [CAN_BUILD_SHARED=$enableval], [CAN_BUILD_SHARED=yes]) BUILD_SHARED=$CAN_BUILD_SHARED @@ -98,6 +105,7 @@ AC_SUBST(DEFAULT_LIBRARY_TYPE) AC_SUBST(OS_SPECIFIC_LINK_OPTIONS) + AC_SUBST(BUILD_STATIC) AC_SUBST(BUILD_SHARED) AC_SUBST(SO_EXT) AC_SUBST(SO_OPTS) @@ -108,13 +116,50 @@ ) ############################################################# +# Shall the libraries be put in subdirectories? +############################################################# + +AC_DEFUN(CHECK_SUBDIRS, +[ + AC_ARG_ENABLE(subdirs, + [AC_HELP_STRING( + [--disable-subdirs], + [Put the libraries in libdir, allowing installation in +standard locations on Unix-like systems.]) +AC_HELP_STRING( + [--enable-subdirs], + [Put static and shared libraries in separate +subdirectories under libdir. (default)])], + [MAKE_SUBDIRS=$enableval], + [MAKE_SUBDIRS=yes]) + + if test "x$MAKE_SUBDIRS" = xyes ; then + libsubdir_static=gtkada/static + libsubdir_shared=gtkada/relocatable + alisubdir_static=gtkada/static + alisubdir_shared=gtkada/relocatable + else + libsubdir_static= + libsubdir_shared= + alisubdir_static=gtkada + alisubdir_shared=gtkada + fi + + AC_SUBST(libsubdir_static) + AC_SUBST(libsubdir_shared) + AC_SUBST(alisubdir_static) + AC_SUBST(alisubdir_shared) +] +) + +############################################################# # Checking for build type ############################################################# AC_DEFUN(CHECK_BUILD_TYPE, [ AC_ARG_ENABLE(build, - [--enable-build=<type> Default build type for the library (Debug, Production)], + [ --enable-build=<type> Default build type for the library (Debug, Debuginfo, Production)], BUILD_TYPE=$enableval, BUILD_TYPE=Production) ] --- configure 2008-12-17 10:26:45.000000000 +0100 +++ configure 2011-01-17 01:47:56.000000000 +0100 @@ -272,7 +272,7 @@ PACKAGE_BUGREPORT= ac_unique_file="src/glib.ads" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os DEFAULT_LIBRARY_TYPE OS_SPECIFIC_LINK_OPTIONS BUILD_SHARED SO_EXT SO_OPTS FPIC TARGET_LFLAGS MERGE MERGE_AVAIL DIFF PATCH CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATMAKE PERL SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB PKG_CONFIG GTK_PREFIX GTK_CFLAGS GTK_LIBS DEFINE_UNDERLINE_ERROR USE_NLS GETTEXT_INTL HAVE_GETTEXT GL_LIBS GL_CFLAGS HAVE_OPENGL LIBGLADE_CFLAGS LIBGLADE_LIBS LIBGLADE_STATIC_LIBS HAVE_LIBGLADE GNOME_CFLAGS GNOME_LIBS GNOME_STATIC_LIBS HAVE_GNOME GTKADA_VERSION GTKADA_MAJOR_VERSION GTKADA_MINOR_VERSION GTKADA_MICRO_VERSION BUILD_TYPE EXEC_PREFIX LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os DEFAULT_LIBRARY_TYPE OS_SPECIFIC_LINK_OPTIONS BUILD_STATIC BUILD_SHARED SO_EXT SO_OPTS FPIC TARGET_LFLAGS libsubdir_static libsubdir_shared alisubdir_static alisubdir_shared MERGE MERGE_AVAIL DIFF PATCH CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATMAKE PERL SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB PKG_CONFIG GTK_PREFIX GTK_CFLAGS GTK_LIBS DEFINE_UNDERLINE_ERROR USE_NLS GETTEXT_INTL HAVE_GETTEXT GL_LIBS GL_CFLAGS HAVE_OPENGL LIBGLADE_CFLAGS LIBGLADE_LIBS LIBGLADE_STATIC_LIBS HAVE_LIBGLADE GNOME_CFLAGS GNOME_LIBS GNOME_STATIC_LIBS HAVE_GNOME GTKADA_VERSION GTKADA_MAJOR_VERSION GTKADA_MINOR_VERSION GTKADA_MICRO_VERSION BUILD_TYPE EXEC_PREFIX LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1349,15 +1349,19 @@ SO_OPTS=-Wl,-soname, FPIC=-fPIC TARGET_LFLAGS= - DEFAULT_LIBRARY_TYPE=static + DEFAULT_LIBRARY_TYPE=relocatable + +if test "${enable_static+set}" = set; then + enableval="$enable_static" + BUILD_STATIC=$enableval +else + BUILD_STATIC=yes +fi; # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" CAN_BUILD_SHARED=$enableval - if test $enableval = yes; then - DEFAULT_LIBRARY_TYPE=relocatable - fi else CAN_BUILD_SHARED=yes fi; @@ -2949,6 +2953,25 @@ fi +if test "${enable_subdirs+set}" = set; then + enableval="$enable_subdirs" + MAKE_SUBDIRS=$enableval +else + MAKE_SUBDIRS=yes +fi; + +if test "x$MAKE_SUBDIRS" = xyes ; then + libsubdir_static=gtkada/static + libsubdir_shared=gtkada/relocatable + alisubdir_static=gtkada/static + alisubdir_shared=gtkada/relocatable +else + libsubdir_static= + libsubdir_shared= + alisubdir_static=gtkada + alisubdir_shared=gtkada +fi + # Are we in devel mode ? # Check whether --enable-build or --disable-build was given. @@ -4436,11 +4459,16 @@ s,@target_os@,$target_os,;t t s,@DEFAULT_LIBRARY_TYPE@,$DEFAULT_LIBRARY_TYPE,;t t s,@OS_SPECIFIC_LINK_OPTIONS@,$OS_SPECIFIC_LINK_OPTIONS,;t t +s,@BUILD_STATIC@,$BUILD_STATIC,;t t s,@BUILD_SHARED@,$BUILD_SHARED,;t t s,@SO_EXT@,$SO_EXT,;t t s,@SO_OPTS@,$SO_OPTS,;t t s,@FPIC@,$FPIC,;t t s,@TARGET_LFLAGS@,$TARGET_LFLAGS,;t t +s,@libsubdir_static@,$libsubdir_static,;t t +s,@libsubdir_shared@,$libsubdir_shared,;t t +s,@alisubdir_static@,$alisubdir_static,;t t +s,@alisubdir_shared@,$alisubdir_shared,;t t s,@MERGE@,$MERGE,;t t s,@MERGE_AVAIL@,$MERGE_AVAIL,;t t s,@DIFF@,$DIFF,;t t --- configure.in 2008-12-17 10:26:45.000000000 +0100 +++ configure.in 2010-09-11 20:31:35.000000000 +0200 @@ -20,6 +20,9 @@ AC_PROG_INSTALL AC_PROG_RANLIB +# Shall the libraries be put in subdirectories? +CHECK_SUBDIRS + # Are we in devel mode ? CHECK_BUILD_TYPE --- docs/gtkada_rm/Makefile.in 2007-06-23 04:20:07.000000000 +0200 +++ docs/gtkada_rm/Makefile.in 2010-09-26 17:05:44.000000000 +0200 @@ -5,6 +5,7 @@ CP=cp -p INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ +DESTDIR = SRC=../../src/*.ads ../../src/opengl/*.ads ../../src/glade/*.ads @@ -38,10 +39,10 @@ makeinfo --force --no-headers --no-split -o gtkada_rm.txt gtkada_rm.texi install: - -$(MKDIR) $(docdir) + -$(MKDIR) $(DESTDIR)$(docdir) -for i in *.ps *.texi *.tex *.jpg gtkada_rm/*; \ do \ - $(INSTALL_DATA) $$i $(docdir); \ + $(INSTALL_DATA) $$i $(DESTDIR)$(docdir); \ done clean: --- docs/gtkada_ug/Makefile.in 2009-01-15 11:02:42.000000000 +0100 +++ docs/gtkada_ug/Makefile.in 2010-09-26 17:05:31.000000000 +0200 @@ -4,6 +4,7 @@ MKDIR = mkdir -p INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ +DESTDIR = all: gtkada_ug.texi gfdl.texi echo x | tex gtkada_ug.texi @@ -17,10 +18,10 @@ -$(RM) *.aux *.cp *.cps *.dvi *.fn *.ky *.log *.pg *.toc *.tp *.vr install: - -$(MKDIR) $(docdir) + -$(MKDIR) $(DESTDIR)$(docdir) for i in `ls *.html *.info* *.ps *.texi *.txt *.tex *.gif *.jpg`; \ do \ - $(INSTALL_DATA) $$i $(docdir); \ + $(INSTALL_DATA) $$i $(DESTDIR)$(docdir); \ done clean: --- examples/Makefile 2007-09-15 04:17:05.000000000 +0200 +++ examples/Makefile 2010-09-26 17:37:32.000000000 +0200 @@ -44,13 +44,13 @@ done install: - mkdir -p $(examples) + mkdir -p $(DESTDIR)$(examples) -for dir in ${DIRECTORIES} ${TUTORIAL_DIRS}; do \ - mkdir -p $(examples)/$${dir}; \ + mkdir -p $(DESTDIR)$(examples)/$${dir}; \ rm -f $${dir}/b~*; \ - cp -p $${dir}/*.ad? $${dir}/*.gpr $(examples)/$${dir} 2>/dev/null; \ - cp -p $${dir}/Makefile $(examples)/$${dir} 2>/dev/null; \ - cp -p $${dir}/README $(examples)/$${dir} 2>/dev/null; \ + cp -p $${dir}/*.ad? $${dir}/*.gpr $(DESTDIR)$(examples)/$${dir} 2>/dev/null; \ + cp -p $${dir}/Makefile $(DESTDIR)$(examples)/$${dir} 2>/dev/null; \ + cp -p $${dir}/README $(DESTDIR)$(examples)/$${dir} 2>/dev/null; \ done clean:: --- projects/generate_prj.sh 2009-02-27 20:38:40.000000000 +0100 +++ projects/generate_prj.sh 2010-09-25 22:47:31.000000000 +0200 @@ -1,9 +1,15 @@ #!/bin/sh module=${1:-} -prefix=$2 -default_library_type="$3" -version=$4 +bindir="$2" +incdir="$3" +libdir="$4" +libsubdir_static="$5" +libsubdir_shared="$6" +alisubdir_static="$7" +alisubdir_shared="$8" +default_library_type="$9" +version="${10}" lcmodule=`echo $module | tr [A-Z] [a-z]` @@ -40,10 +46,10 @@ echo " \"$previous\"," echo " \"-luser32\"," if [ "$shared" = "1" ]; then - echo " \"-L../../bin\"," + echo " \"-L${bindir}\"," fi - echo " \"-L..\"," - echo -n " \"-L../../include/gtkada\"" + echo " \"-L${libdir}\"," + echo -n " \"-L${includedir}\"" ;; *) if [ x"$previous" != x"" ]; then @@ -77,7 +83,7 @@ type Gtkada_Kind_Type is ("static", "relocatable"); Gtkada_Kind : Gtkada_Kind_Type := external ("LIBRARY_TYPE", "$3"); - for Source_Dirs use ("../../include/gtkada"); + for Source_Dirs use ("${incdir}"); for Source_List_File use "gtkada/${lcmodule}.lgpr"; for Library_Kind use Gtkada_Kind; @@ -89,11 +95,12 @@ case Gtkada_Kind is when "static" => for Library_Name use "${lcmodule}"; - for Library_Dir use "../gtkada/static"; + for Library_Dir use "${libdir}/${libsubdir_static}"; + for Library_ALI_Dir use "${libdir}/${alisubdir_static}"; when "relocatable" => for Library_Name use "${lcmodule}${lcversion}"; - for Library_Dir use "../../bin"; - for Library_ALI_Dir use "../gtkada/relocatable"; + for Library_Dir use "${bindir}"; + for Library_ALI_Dir use "${libdir}/${alisubdir_shared}"; end case; EOF @@ -103,12 +110,14 @@ case Gtkada_Kind is when "static" => for Library_Name use "${lcmodule}"; + for Library_Dir use "${libdir}/${libsubdir_static}"; + for Library_ALI_Dir use "${libdir}/${alisubdir_static}"; when "relocatable" => for Library_Name use "${lcmodule}${lcversion}"; + for Library_Dir use "${libdir}/${libsubdir_shared}"; + for Library_ALI_Dir use "${libdir}/${alisubdir_shared}"; end case; - for Library_Dir use "../gtkada/" & Project'Library_Kind; - EOF esac --- projects/gtkada.pc.in 2007-06-23 04:20:17.000000000 +0200 +++ projects/gtkada.pc.in 2010-09-26 00:12:17.000000000 +0200 @@ -2,5 +2,5 @@ Description: Ada binding for gtk+-2.0 Version: @GTKADA_MAJOR_VERSION@.@GTKADA_MINOR_VERSION@.@GTKADA_MICRO_VERSION@ Requires: gtk+-2.0 -Libs: -L@prefix@/lib -lgtkada -Cflags: -aI@prefix@/include/gtkada -aO@prefix@/lib/gtkada +Libs: -L@libdir@ -lgtkada +Cflags: -aI@includedir@/gtkada -aO@libdir@/gtkada --- projects/Makefile 2008-05-14 17:07:19.000000000 +0200 +++ projects/Makefile 2010-09-05 23:33:31.000000000 +0200 @@ -5,28 +5,40 @@ SOVER=${MAJOR}.${MINOR} install: force - ${MKDIR} $(prefix)/lib/gnat/ - ${MKDIR} $(prefix)/lib/gnat/gtkada - $(MKDIR) $(prefix)/lib/pkgconfig/ - ${CP} gtkada.pc $(prefix)/lib/pkgconfig/ - -${RM} ${prefix}/projects/gtkada* - ./generate_prj.sh GtkAda "${prefix}" ${DEFAULT_LIBRARY_TYPE} ${SOVER} - ${CP} gtkada.gpr ${prefix}/lib/gnat/ + ${MKDIR} "${DESTDIR}${prefix}/lib/gnat/" + ${MKDIR} "${DESTDIR}${prefix}/lib/gnat/gtkada" + $(MKDIR) "${DESTDIR}${libdir}/pkgconfig/" + ${CP} gtkada.pc "${DESTDIR}${libdir}/pkgconfig/" + -${RM} "${DESTDIR}${prefix}"/projects/gtkada* + ./generate_prj.sh GtkAda "${bindir}" "${incdir}" "${libdir}" \ + "${libsubdir_static}" "${libsubdir_shared}" \ + "${alisubdir_static}" "${alisubdir_shared}" \ + "${DEFAULT_LIBRARY_TYPE}" "${SOVER}" + ${CP} gtkada.gpr "${DESTDIR}${prefix}/lib/gnat/" ifeq ($(HAVE_LIBGLADE), True) - ./generate_prj.sh GtkAda_Glade "${prefix}" ${DEFAULT_LIBRARY_TYPE} ${SOVER} - ${CP} gtkada_glade.gpr ${prefix}/lib/gnat/ + ./generate_prj.sh GtkAda_Glade "${bindir}" "${incdir}" "${libdir}" \ + "${libsubdir_static}" "${libsubdir_shared}" \ + "${alisubdir_static}" "${alisubdir_shared}" \ + "${DEFAULT_LIBRARY_TYPE}" "${SOVER}" + ${CP} gtkada_glade.gpr "${DESTDIR}${prefix}/lib/gnat/" endif ifeq ($(HAVE_OPENGL), True) - ./generate_prj.sh GtkAda_GL "${prefix}" ${DEFAULT_LIBRARY_TYPE} ${SOVER} - ${CP} gtkada_gl.gpr ${prefix}/lib/gnat/ + ./generate_prj.sh GtkAda_GL "${bindir}" "${incdir}" "${libdir}" \ + "${libsubdir_static}" "${libsubdir_shared}" \ + "${alisubdir_static}" "${alisubdir_shared}" \ + "${DEFAULT_LIBRARY_TYPE}" "${SOVER}" + ${CP} gtkada_gl.gpr "${DESTDIR}${prefix}/lib/gnat/" endif ifeq ($(HAVE_GNOME), True) - ./generate_prj.sh GtkAda_Gnome "${prefix}" ${DEFAULT_LIBRARY_TYPE} ${SOVER} - ${CP} gtkada_gnome.gpr ${prefix}/lib/gnat/ + ./generate_prj.sh GtkAda_Gnome "${bindir}" "${incdir}" "${libdir}" \ + "${libsubdir_static}" "${libsubdir_shared}" \ + "${alisubdir_static}" "${alisubdir_shared}" \ + "${DEFAULT_LIBRARY_TYPE}" "${SOVER}" + ${CP} gtkada_gnome.gpr "${DESTDIR}${prefix}/lib/gnat/" endif - ${CP} *.lgpr ${prefix}/lib/gnat/gtkada + ${CP} *.lgpr "${DESTDIR}${prefix}/lib/gnat/gtkada" ifeq ($(OS),Windows_NT) - ${CP} gtkada_install_*.gpr ${prefix}/include/gtkada + ${CP} gtkada_install_*.gpr "${DESTDIR}${incdir}" endif clean: force --- shared.gpr 2010-06-11 13:15:51.000000000 +0200 +++ shared.gpr 2010-09-25 17:19:52.000000000 +0200 @@ -1,6 +1,6 @@ project Shared is - type Build_Type is ("Debug", "Production"); + type Build_Type is ("Debug", "Debuginfo", "Production"); Build : Build_Type := external ("BUILD", "Production"); Processors := external ("PROCESSORS", "1"); @@ -19,6 +19,9 @@ when "Debug" => for Default_Switches ("Ada") use ("-gnatQ", "-gnatwae", "-gnatay", "-g", "-O1"); + when "Debuginfo" => + for Default_Switches ("Ada") use + ("-gnatQ", "-g", "-O2", "-gnatn", "-gnatws"); when "Production" => for Default_Switches ("Ada") use ("-gnatQ", "-O2", "-gnatn", "-gnatws"); @@ -35,7 +38,7 @@ case Build is when "Debug" => for Default_Switches ("Ada") use ("-E"); - when "Production" => + when "Debuginfo" | "Production" => null; end case; end Binder; --- src/glade/Makefile.in 2007-06-23 04:18:24.000000000 +0200 +++ src/glade/Makefile.in 2011-01-18 01:41:00.000000000 +0100 @@ -4,6 +4,7 @@ ARCHIVENAME = libgtkada_glade.a LIBGLADE_SOURCES = glade.adb glade-xml.adb LIBGLADE_OBJECTS = glade.o glade-xml.o +GTKADA_LIBS = -L../../lib-obj -lgtkada # relative to OBJ_DIR EXTERNAL_LIBS = @LIBGLADE_LIBS@ GPRFILE = glade SRC_FILES = ${LIBGLADE_OBJECTS} --- src/gnome/Makefile.in 2007-06-23 04:18:01.000000000 +0200 +++ src/gnome/Makefile.in 2011-01-18 01:44:22.000000000 +0100 @@ -3,6 +3,7 @@ SONAME = libgnomeada-$(MAJOR).$(MINOR)$(SO_EXT).$(MICRO) ARCHIVENAME = libgnomeada.a SRC_FILES = gnome.o gnome-*.o bonobo*.o +GTKADA_LIBS = -L../../lib-obj -lgtkada # relative to OBJ_DIR EXTERNAL_LIBS = @GNOME_LIBS@ GPRFILE = gnome --- src/Makefile.common.in 2008-05-14 17:07:19.000000000 +0200 +++ src/Makefile.common.in 2011-01-18 01:34:58.000000000 +0100 @@ -5,6 +5,7 @@ GNATMAKE = gnatmake OS_SPECIFIC_LINK_OPTIONS = @OS_SPECIFIC_LINK_OPTIONS@ +BUILD_STATIC = @BUILD_STATIC@ BUILD_SHARED = @BUILD_SHARED@ SO_EXT = @SO_EXT@ SO_OPTS = @SO_OPTS@ @@ -38,11 +39,26 @@ RANLIB = @RANLIB@ prefix = @prefix@ -exec_prefix = $(prefix) -bindir = $(prefix)/bin -libdir = $(prefix)/lib -incdir = $(prefix)/include/gtkada -alidir = $(prefix)/lib/gtkada +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +incdir = @includedir@/gtkada +datadir = @datadir@ + +libsubdir_static = @libsubdir_static@ +libsubdir_shared = @libsubdir_shared@ +alisubdir_static = @alisubdir_static@ +alisubdir_shared = @alisubdir_shared@ + +libdir_static = ${libdir}/${libsubdir_static} +libdir_shared = ${libdir}/${libsubdir_shared} +alidir_static = ${libdir}/${alisubdir_static} +alidir_shared = ${libdir}/${alisubdir_shared} + +# DESTDIR may be set to the path to a staging directory to install files in +# when building packages. If DESTDIR is empty, files will be installed directly +# in their final locations. +DESTDIR = ################################################################# ## Generic targets @@ -61,12 +77,15 @@ all: -ifeq ($(BUILD_SHARED),yes) -module_all: module_ada ${OBJ_DIR}/${ARCHIVENAME} ${OBJ_DIR}/${SONAME} -module_install: module_install_common module_install_shared -else -module_all: module_ada ${OBJ_DIR}/${ARCHIVENAME} +module_all: module_ada module_install: module_install_common +ifeq (${BUILD_STATIC},yes) +module_all: ${OBJ_DIR}/${ARCHIVENAME} +module_install: module_install_static +endif +ifeq (${BUILD_SHARED},yes) +module_all: ${OBJ_DIR}/${SONAME} +module_install: module_install_shared endif module_ada: force @@ -74,31 +93,37 @@ ifneq (${SONAME},) module_install_common: force - $(INSTALL_DATA) ${OBJ_DIR}/$(ARCHIVENAME) $(alidir)/static - $(RM) $(libdir)/$(ARCHIVENAME) - $(CP) *.ads *.adb $(incdir) - ${CP} ${OBJ_DIR}/*.ali ${alidir}/static + $(CP) *.ads *.adb "${DESTDIR}$(incdir)" + +module_install_static: force + $(RM) "${DESTDIR}$(libdir)/$(ARCHIVENAME)" + $(INSTALL_DATA) ${OBJ_DIR}/$(ARCHIVENAME) "${DESTDIR}${libdir_static}" + ${CP} ${OBJ_DIR}/*.ali "${DESTDIR}${alidir_static}" module_install_shared: force - $(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) $(alidir)/relocatable - $(RM) $(libdir)/$(LIBNAME) - $(LN) $(SONAME) $(alidir)/relocatable/$(LIBNAME) - $(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(LIBNAME) - $(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(SONAME) - ${CP} ${OBJ_DIR}/*.ali ${alidir}/relocatable + $(INSTALL_PROGRAM) ${OBJ_DIR}/$(SONAME) "${DESTDIR}${libdir_shared}" + $(RM) "${DESTDIR}$(libdir)/$(LIBNAME)" + $(LN) $(SONAME) "${DESTDIR}${libdir_shared}/$(LIBNAME)" + @if [ "x${libsubdir_shared}" != x ]; then \ + $(LN) "${libsubdir_shared}/$(SONAME)" "${DESTDIR}$(libdir)/$(LIBNAME)"; \ + $(LN) "${libsubdir_shared}/$(SONAME)" "${DESTDIR}$(libdir)/$(SONAME)"; \ + fi + ${CP} ${OBJ_DIR}/*.ali "${DESTDIR}${alidir_shared}" ${OBJ_DIR}/${SONAME}: ${wildcard ${SRC_FILES:%=${OBJ_DIR}/%}} @echo Building ${SONAME} @cd ${OBJ_DIR}; $(CC) -shared $(FPIC) $(OS_SPECIFIC_LINK_OPTIONS) \ -o $(SONAME) $(SO_OPTS)$(SONAME) ${SRC_FILES} \ - $(GTK_LIBS) $(EXTERNAL_LIBS) + $(GTKADA_LIBS) $(GTK_LIBS) $(EXTERNAL_LIBS) @cd ${OBJ_DIR}; $(RM) $(LIBNAME) @cd ${OBJ_DIR}; $(LN) $(SONAME) $(LIBNAME) ifneq (${BUILD_TYPE},Debug) +ifneq (${BUILD_TYPE},Debuginfo) ifneq (${OS},Windows_NT) @cd ${OBJ_DIR}; strip $(LIBNAME) endif endif +endif @cd ${OBJ_DIR}; ${CHMOD} +x ${LIBNAME} ${OBJ_DIR}/${ARCHIVENAME}: ${wildcard ${SRC_FILES:%=${OBJ_DIR}/%}} --- src/Makefile.in 2009-02-27 19:40:34.000000000 +0100 +++ src/Makefile.in 2011-01-18 01:38:04.000000000 +0100 @@ -23,6 +23,7 @@ c_extra_objects = ../gtkextra/obj/gtk*.o SRC_FILES=glib*.o gdk*.o gtk*.o pango*.o ${c_objects} ${c_extra_objects} +GTKADA_LIBS= EXTERNAL_LIBS= include Makefile.common @@ -39,7 +40,10 @@ ifeq ($(BUILD_SHARED),yes) libs: ${OBJ_DIR}/$(SONAME) endif -libs: ${OBJ_DIR}/${ARCHIVENAME} opengl glade gnome +ifeq ($(BUILD_STATIC),yes) +libs: ${OBJ_DIR}/${ARCHIVENAME} +endif +libs: opengl glade gnome opengl gtkextra glade gnome tools: force $(MAKE) -C $@ @@ -57,45 +61,53 @@ -DHAVE_GETTEXT=$(HAVE_GETTEXT) gtkada-intl.gpb gtkada-intl.adb install: force - @if [ "$(prefix)" != `pwd` ]; then \ - echo Installing GtkAda in $(prefix); \ - $(MKDIR) $(bindir); \ - $(MKDIR) $(libdir); \ - $(MKDIR) $(incdir); \ - $(MKDIR) $(alidir)/static; \ - $(INSTALL_DATA) ${OBJ_DIR}/$(ARCHIVENAME) $(alidir)/static; \ - $(RM) $(libdir)/$(ARCHIVENAME); \ + @if [ "${DESTDIR}$(prefix)" != `pwd` ]; then \ + echo Installing GtkAda in ${DESTDIR}$(prefix); \ + $(MKDIR) "${DESTDIR}$(bindir)"; \ + $(MKDIR) "${DESTDIR}$(libdir)"; \ + $(MKDIR) "${DESTDIR}$(incdir)"; \ + if [ $(BUILD_STATIC) = yes ]; then \ + $(MKDIR) "${DESTDIR}${alidir_static}"; \ + $(RM) "${DESTDIR}$(libdir)/$(ARCHIVENAME)"; \ + $(INSTALL_DATA) ${OBJ_DIR}/$(ARCHIVENAME) "${DESTDIR}${libdir_static}"; \ if [ -f /usr/bin/$(RANLIB) -o -f /bin/$(RANLIB) ]; then \ - $(RANLIB) $(alidir)/static/$(ARCHIVENAME); \ + $(RANLIB) "${DESTDIR}${libdir_static}/$(ARCHIVENAME)"; \ + fi; \ fi; \ if [ $(BUILD_SHARED) = yes ]; then \ - $(MKDIR) $(alidir)/relocatable; \ + $(MKDIR) "${DESTDIR}${alidir_shared}"; \ if [ "$(OS)" = "Windows_NT" ]; then \ - $(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) $(bindir); \ - $(CHMOD) +x $(bindir)/$(SONAME); \ + $(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) "${DESTDIR}$(bindir)"; \ + $(CHMOD) +x "${DESTDIR}$(bindir)/$(SONAME)"; \ else \ - $(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) $(alidir)/relocatable; \ - $(RM) $(libdir)/$(LIBNAME); \ - $(LN) $(SONAME) $(alidir)/relocatable/$(LIBNAME); \ - $(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(LIBNAME); \ - $(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(SONAME); \ - fi; \ - $(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali $(alidir)/relocatable; \ - $(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali $(alidir)/relocatable; \ - fi; \ - $(CP) glib*.ads glib*.adb $(MESA_SPECS) $(incdir); \ - $(CP) gdk*.ads gdk*.adb $(incdir); \ - $(CP) gtk*.ads gtk*.adb $(incdir); \ - $(CP) pango*.ads pango*.adb $(incdir); \ - $(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali $(alidir)/static; \ - $(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali $(alidir)/static; \ + $(INSTALL_PROGRAM) ${OBJ_DIR}/$(SONAME) "${DESTDIR}${libdir_shared}"; \ + $(RM) "${DESTDIR}$(libdir)/$(LIBNAME)"; \ + $(LN) $(SONAME) "${DESTDIR}${libdir_shared}/$(LIBNAME)"; \ + if [ "x${libsubdir_shared}" != x ]; then \ + $(LN) "${libsubdir_shared}/$(SONAME)" "${DESTDIR}$(libdir)/$(LIBNAME)"; \ + $(LN) "${libsubdir_shared}/$(SONAME)" "${DESTDIR}$(libdir)/$(SONAME)"; \ + fi; \ + fi; \ + $(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali "${DESTDIR}${alidir_shared}"; \ + $(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali "${DESTDIR}${alidir_shared}"; \ + fi; \ + $(CP) glib*.ads glib*.adb $(MESA_SPECS) "${DESTDIR}$(incdir)"; \ + $(CP) gdk*.ads gdk*.adb "${DESTDIR}$(incdir)"; \ + $(CP) gtk*.ads gtk*.adb "${DESTDIR}$(incdir)"; \ + $(CP) pango*.ads pango*.adb "${DESTDIR}$(incdir)"; \ + if [ $(BUILD_STATIC) = yes ]; then \ + $(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali "${DESTDIR}${alidir_static}"; \ + $(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali "${DESTDIR}${alidir_static}"; \ + fi; \ $(MAKE) -C opengl install; \ $(MAKE) -C glade install; \ $(MAKE) -C gnome install; \ $(MAKE) -C tools install; \ - $(CHMOD) ugo-w $(alidir)/static/*.ali; \ + if [ $(BUILD_STATIC) = yes ]; then \ + $(CHMOD) ugo-w "${DESTDIR}${alidir_static}"/*.ali; \ + fi; \ if [ $(BUILD_SHARED) = yes ]; then \ - $(CHMOD) ugo-w $(alidir)/relocatable/*.ali; \ + $(CHMOD) ugo-w "${DESTDIR}${alidir_shared}"/*.ali; \ fi; \ fi --- src/opengl/Makefile.in 2008-05-14 17:07:19.000000000 +0200 +++ src/opengl/Makefile.in 2011-01-18 01:43:45.000000000 +0100 @@ -6,6 +6,7 @@ OPENGL_OBJECTS = gtk-glarea.o gdk-gl.o gl_h.o OPENGL_C_OBJECTS = gtkglarea.o gdkgl.o OPENGL_C_OBJECTS_DIR = ${OPENGL_C_OBJECTS:%=${OBJ_DIR}/%} +GTKADA_LIBS = -L../../lib-obj -lgtkada # relative to OBJ_DIR EXTERNAL_LIBS = @GL_LIBS@ OPENGL_FLAGS = @GL_CFLAGS@ GPRFILE = opengl --- src/tools/gtkada-config.in 2009-02-28 10:45:18.000000000 +0100 +++ src/tools/gtkada-config.in 2010-09-11 22:58:56.000000000 +0200 @@ -3,21 +3,26 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ -libdir=@libdir@/gtkada +bindir=@bindir@ includedir=@includedir@/gtkada +libdir=@libdir@ +libdir_static=${libdir}/@libsubdir_static@ +libdir_shared=${libdir}/@libsubdir_shared@ +alidir_static=${libdir}/@alisubdir_static@ +alidir_shared=${libdir}/@alisubdir_shared@ gtk_libs="@GTK_LIBS@" # OS Specific relocatable settings if [ "$OS" = "Windows_NT" ]; then - os_reloc="-L${prefix}/bin -lgtkada-@GTKADA_MAJOR_VERSION@.@GTKADA_MINOR_VERSION@" + os_reloc="-L${bindir} -lgtkada-@GTKADA_MAJOR_VERSION@.@GTKADA_MINOR_VERSION@" else - os_reloc="-L${libdir}/relocatable -lgtkada" + os_reloc="-L${libdir_shared} -lgtkada" fi -cflags_static="-aI${includedir} -aO${libdir}/static" -cflags_relocatable="-aI${includedir} -aO${libdir}/relocatable" +cflags_static="-aI${includedir} -aO${alidir_static}" +cflags_relocatable="-aI${includedir} -aO${alidir_shared}" libs_relocatable="${os_reloc} ${gtk_libs}" -libs_static="-L${libdir}/static -lgtkada ${gtk_libs}" +libs_static="-L${libdir_static} -lgtkada ${gtk_libs}" usage() { @@ -36,7 +41,8 @@ show_cflags=1 show_libs=1 -libtype=relocatable +libtype=@DEFAULT_LIBRARY_TYPE@ +building=0 # Can have the following values: # 0 = none @@ -83,7 +89,7 @@ done ## Force static if relocatable was not installed -if [ -d $libdir/relocatable ]; then +if [ -d ${libdir_shared} ]; then : else libtype=static --- src/tools/Makefile.in 2009-06-19 08:43:20.000000000 +0200 +++ src/tools/Makefile.in 2010-09-26 14:19:07.000000000 +0200 @@ -27,10 +27,10 @@ install: force -${CHMOD} +x ${GATE} ${GTKADA_CONFIG} - ${INSTALL_SCRIPT} ${GATE} ${bindir} - ${INSTALL_SCRIPT} ${GTKADA_CONFIG} ${bindir} - ${INSTALL_PROGRAM} ${OBJ_DIR}/${GATE_EX} ${bindir} - ${INSTALL_PROGRAM} ${OBJ_DIR}/${GDIALOG} ${bindir} + ${INSTALL_SCRIPT} ${GATE} ${DESTDIR}${bindir} + ${INSTALL_SCRIPT} ${GTKADA_CONFIG} ${DESTDIR}${bindir} + ${INSTALL_PROGRAM} ${OBJ_DIR}/${GATE_EX} ${DESTDIR}${bindir} + ${INSTALL_PROGRAM} ${OBJ_DIR}/${GDIALOG} ${DESTDIR}${bindir} clean: module_clean --- testgtk/Makefile.in 2008-05-15 09:36:05.000000000 +0200 +++ testgtk/Makefile.in 2010-09-26 15:32:00.000000000 +0200 @@ -43,12 +43,12 @@ $(CC) -c opengl/lw.c -Iopengl @GTK_CFLAGS@ install: force - $(MKDIR) $(examples) - $(MKDIR) $(examples)/opengl + $(MKDIR) $(DESTDIR)$(examples) + $(MKDIR) $(DESTDIR)$(examples)/opengl $(RM) b~* - -$(INSTALL_PROGRAM) testgtk $(examples) - $(CP) *.ad? *.xpm *.png *.jpg *.gif *.lwo $(examples) - $(CP) opengl/*.ad? opengl/*.[ch] $(examples)/opengl + -$(INSTALL_PROGRAM) testgtk $(DESTDIR)$(examples) + $(CP) *.ad? *.xpm *.png *.jpg *.gif *.lwo $(DESTDIR)$(examples) + $(CP) opengl/*.ad? opengl/*.[ch] $(DESTDIR)$(examples)/opengl clean: module_clean --- xml/Makefile 2007-06-23 04:20:22.000000000 +0200 +++ xml/Makefile 2010-09-26 18:02:38.000000000 +0200 @@ -3,8 +3,8 @@ MKDIR = mkdir -p install: force - ${MKDIR} $(prefix)/share/gps/plug-ins - ${CP} gtkada.xml ${prefix}/share/gps/plug-ins/ + ${MKDIR} ${DESTDIR}${datadir}/gps/plug-ins + ${CP} gtkada.xml ${DESTDIR}${datadir}/gps/plug-ins/ force: