Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > abea90999e3e6d99e357d9c7cb7d011e > files > 3

GtkAda-2.14.1-4.fc15.src.rpm

--- 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: