]> git.pld-linux.org Git - packages/rpm-build-macros.git/commitdiff
- added 4 macros:
authorArtur Frysiak <artur@frysiak.net>
Fri, 30 Apr 1999 01:29:45 +0000 (01:29 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
-- %GNUconfigure and %GNUconfigureS to complete remake autoconf/automake stuff
-- %configure and %configureS to corect run ./configure
-- *S add "-s" to LDFLAGS

Changed files:
    rpm.macros -> 1.4

rpm.macros

index 43b8cd2b77b6c2f472bf6ee04e44283254f0c16e..36679316483a168021b75208a1ca53961b4a5e9a 100644 (file)
@@ -3,3 +3,119 @@
 %perl_archlib  %(eval "`perl -V:installarchlib`"; echo $installarchlib)
 # %%requires_pkg macro is obsoletes. Use %%requires_eq instead
 #%requires_pkg() %(LC_ALL="C" rpm -q --queryformat 'Requires: %%{NAME} = %%{VERSION}' %1|grep -v "is not")
+
+#------------------------------------------------------------------------------
+# The GNUconfigure macro does the following:
+#       update config.guess and config.sub.
+#       regenerate all autoconf/automake files
+#       optionally change to a directory (make the directory if requested).
+#       run configure with correct prefix, platform, and CFLAGS.
+#       optionally restore current directory.
+#
+# Based on autogen.sh from GNOME and orginal GNUconfigure
+#
+%GNUconfigure(MCs:)      \
+  %{-C:_mydir="`pwd`"; %{-M; %{__mkdirp} %{-C*};} cd %{-C*}} \
+  for coin in `find ${_mydir} -name configure.in -print` \
+do \
+  dr=`dirname ${coin}`; \
+if test -f ${dr}/NO-AUTO-GEN; then \
+ : \
+else \
+     macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \
+    ( cd ${dr}; \
+      aclocalinclude="${ACLOCAL_FLAGS}"; \
+      for k in ${macrodirs}; do \
+        if test -d ${k}; then \
+          aclocalinclude="${aclocalinclude} -I ${k}"; \
+        ##else \
+        ##  echo "**Warning**: No such directory \`${k}'.  Ignored." \
+        fi \
+      done \
+      if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then \
+        if grep "sed.*POTFILES" configure.in >/dev/null; then \
+          : do nothing -- we still have an old unmodified configure.in \
+        else \
+          test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \
+          echo "no" | gettextize --force --copy; \
+          test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \
+        fi \
+      fi \
+      if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then \
+        %{__libtoolize} --force --copy; \
+      fi \
+      aclocal ${aclocalinclude}; \
+      if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then \
+        %{__autoheader}; \
+      fi \
+      echo "Running automake --gnu ${am_opt} ..."; \
+      %{__automake} --add-missing --gnu ${am_opt}; \
+      %{__autoconf}; \
+    ); \
+  fi \
+done \
+  CFLAGS="${CFLAGS} %{optflags}" LDFLAGS="${LDFLAGS}" %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} %* \
+  %{-C:cd ${_mydir}; unset _mydir}
+
+#------------------------------------------------------------------------------
+# The GNUconfigureS macro does the following:
+#       update config.guess and config.sub.
+#       regenerate all autoconf/automake files
+#       optionally change to a directory (make the directory if requested).
+#       run configure with correct prefix, platform, CFLAGS and adds -s 
+#      to LDFLAGS.
+#       optionally restore current directory.
+#
+# Based on autogen.sh from GNOME and orginal GNUconfigure
+#
+%GNUconfigureS(MC:)      \
+  %{-C:_mydir="`pwd`"; %{-M; %{__mkdirp} %{-C*};} cd %{-C*}} \
+  for coin in `find ${_mydir} -name configure.in -print` \
+do \
+  dr=`dirname ${coin}`; \
+if test -f ${dr}/NO-AUTO-GEN; then \
+ : \
+else \
+     macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \
+    ( cd ${dr}; \
+      aclocalinclude="${ACLOCAL_FLAGS}"; \
+      for k in ${macrodirs}; do \
+        if test -d ${k}; then \
+          aclocalinclude="${aclocalinclude} -I ${k}"; \
+        ##else \
+        ##  echo "**Warning**: No such directory \`${k}'.  Ignored." \
+        fi \
+      done \
+      if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then \
+        if grep "sed.*POTFILES" configure.in >/dev/null; then \
+          : do nothing -- we still have an old unmodified configure.in \
+        else \
+          test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \
+          echo "no" | gettextize --force --copy; \
+          test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \
+        fi \
+      fi \
+      if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then \
+        %{__libtoolize} --force --copy; \
+      fi \
+      aclocal ${aclocalinclude}; \
+      if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then \
+        %{__autoheader}; \
+      fi \
+      echo "Running automake --gnu ${am_opt} ..."; \
+      %{__automake} --add-missing --gnu ${am_opt}; \
+      %{__autoconf}; \
+    ); \
+  fi \
+done \
+  CFLAGS="${CFLAGS} %{optflags}" LDFLAGS="${LDFLAGS} -s" %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} %* \
+  %{-C:cd ${_mydir}; unset _mydir}
+
+##############################
+# run ./configure with corect target, CFLAGS and LDFLAGS
+
+%configureS \
+  CFLAGS="${CFLAGS} %{optflags}" LDFLAGS="${LDFLAGS} -s" %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix}
+
+%configure \
+  CFLAGS="${CFLAGS} %{optflags}" LDFLAGS="${LDFLAGS}" %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix}
This page took 0.047564 seconds and 4 git commands to generate.