cups: fix -fstack-protector configure check
authorPeter Korsgaard <jacmet@sunsite.dk>
Thu, 14 May 2009 15:04:41 +0000 (17:04 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 14 May 2009 15:05:48 +0000 (17:05 +0200)
The configure script failed to detect toolchains without stack protector
support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/cups/cups-fix-stack-protector-check.patch [new file with mode: 0644]
package/cups/cups.mk

diff --git a/package/cups/cups-fix-stack-protector-check.patch b/package/cups/cups-fix-stack-protector-check.patch
new file mode 100644 (file)
index 0000000..1db35ff
--- /dev/null
@@ -0,0 +1,25 @@
+[PATCH]: use AC_TRY_LINK for stack protector check
+
+Actually try to link an executable to test for stack protector support,
+as gcc seems to accept the -fstack-protector argument even when it's
+compiled with --disable-libssp (but linking fails with a error
+finding -lssp_nonshared).
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ config-scripts/cups-compiler.m4 |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: cups-1.3.9/config-scripts/cups-compiler.m4
+===================================================================
+--- cups-1.3.9.orig/config-scripts/cups-compiler.m4
++++ cups-1.3.9/config-scripts/cups-compiler.m4
+@@ -109,7 +109,7 @@ if test -n "$GCC"; then
+       AC_MSG_CHECKING(if GCC supports -fstack-protector)
+       OLDCFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -fstack-protector"
+-      AC_TRY_COMPILE(,,
++      AC_TRY_LINK(,,
+               OPTIM="$OPTIM -fstack-protector"
+               AC_MSG_RESULT(yes),
+               AC_MSG_RESULT(no))
index d1bf0fa20503eb3d3434c905bd6bd98738157ff5..9051e0d0fa7338b52ccf1d6ce34d556a0a525c6d 100644 (file)
@@ -74,6 +74,7 @@ $(CUPS_DIR)/.unpacked: $(DL_DIR)/$(CUPS_SOURCE)
        touch $@
 
 $(CUPS_DIR)/.configured: $(CUPS_DIR)/.unpacked
+       cd $(CUPS_DIR) && $(AUTOCONF)
        (cd $(CUPS_DIR) && \
                $(TARGET_CONFIGURE_OPTS) \
                $(TARGET_CONFIGURE_ARGS) \
@@ -109,7 +110,7 @@ $(CUPS_DIR)/.installed: $(CUPS_DIR)/.compiled
        $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/bin/cups-config
        touch $@
 
-cups: uclibc $(CUPS_DEPENDENCIES) $(CUPS_DIR)/.installed
+cups: uclibc host-autoconf $(CUPS_DEPENDENCIES) $(CUPS_DIR)/.installed
 
 cups-source: $(DL_DIR)/$(CUPS_SOURCE)