summaryrefslogtreecommitdiff
path: root/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch')
-rw-r--r--net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch116
1 files changed, 116 insertions, 0 deletions
diff --git a/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch b/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch
new file mode 100644
index 000000000000..5b5b932b06bc
--- /dev/null
+++ b/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch
@@ -0,0 +1,116 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Make dependence on TCL not be automagic (so that --with-tcl
+ errors out if TCL can't be found and not specifying --with-tcl
+ does the normal automagic behavior). Support
+ LDFLAGS=-Wl,--as-needed by using LIBS instead of LDFLAGS for
+ -ltcl as appropriate.
+
+--- a/configure.in
++++ b/configure.in
+@@ -1122,43 +1122,41 @@
+ dnl
+ dnl Tcl support?
+ dnl
+-AC_ARG_WITH(tcl,
+-[ --with-tcl[=PATH_TO_tclConfig.sh] Compile with tcl support.],
+-[
+- tclconfig=$withval
+-],
+- tclconfig="yes"
+-)
+-
+-if test "x$tclconfig" = "xyes" ; then
+- for i in /usr/lib $localdir/lib $localdir/lib/tcl8.4 ; do
+- if test -r $i/tclConfig.sh ; then
+- tclconfig=$i/tclConfig.sh
+- break;
+- fi
+- done
+-fi
++AC_ARG_WITH([tcl], [AS_HELP_STRING([--with-tcl[=PATH_TO_tclConfig.sh]], [Compile with tcl support.])],
++ [], [with_tcl=maybe])
+
+ AC_MSG_CHECKING(whether to support TCL)
+-if test "x$tclconfig" = "xno"; then
++if test "x$with_tcl" = "xno"; then
+ AC_MSG_RESULT(no)
+ else
+- if test ! -r $tclconfig ; then
++ with_tcl_errormsg="You specified --with-tcl=$with_tcl but I could not find TCL. Please specify --with-tcl=/path/to/tclConfig.sh or remove --with-tcl from ./configure's commandline."
++ if test "x$with_tcl" = "xmaybe" -o "x$with_tcl" = "xyes"; then
++ for i in /usr/lib /usr/local/lib /usr/local/lib/tcl8.4 ; do
++ if test -r "$i"/tclConfig.sh ; then
++ tclconfig="$i"/tclConfig.sh
++ break;
++ fi
++ done
++ else
++ tclconfig="$with_tcl"
++ fi
++ if test ! -r "$tclconfig" ; then
++ dnl Avoid being automagic unless if the user wants us to be.
++ AS_IF([test "x$with_tcl" != "xmaybe"],
++ [AC_MSG_ERROR([$with_tcl_errormsg])])
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+- TCLCFLAGS=`(. $tclconfig && echo $TCL_INCLUDE_SPEC)`
+- TCLLDFLAGS1=`(. $tclconfig && echo $TCL_LIB_SPEC)`
+- TCLLDFLAGS2=`(. $tclconfig && echo $TCL_LIBS)`
+- TCLLDFLAGS=$(eval echo "$TCLLDFLAGS1 $TCLLDFLAGS2")
++ TCLCFLAGS=`(. "$tclconfig" && echo $TCL_INCLUDE_SPEC)`
++ TCLLIBS=`(. "$tclconfig" && echo $TCL_LIB_SPEC $TCL_LIBS)`
+ TCLDOTOH="tcl.o"
+
+ AC_MSG_CHECKING(whether embedded tcl works the way I expect)
+ have_embedded_tcl="no"
+ old_CFLAGS="$CFLAGS"
+- old_LDFLAGS="$LDFLAGS"
++ old_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $TCLCFLAGS"
+- LDFLAGS="$LDFLAGS $TCLLDFLAGS"
++ LIBS="$LIBS $TCLLIBS"
+ AC_TRY_LINK([
+ #include <tcl.h>
+ Tcl_Interp *my_tcl;
+@@ -1175,14 +1173,16 @@
+ ], have_embedded_tcl="yes")
+
+ CFLAGS="$old_CFLAGS"
+- LDFLAGS="$old_LDFLAGS"
++ LIBS="$old_LIBS"
+ if test $have_embedded_tcl = "yes" ; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_TCL)
+ AC_DEFINE(TCLCFLAGS)
+- AC_DEFINE(TCLLDFLAGS)
++ AC_DEFINE(TCLLIBS)
+ else
+- AC_MSG_RESULT(no, sorry)
++ AS_IF([test "$with_tcl" != "xmaybe"],
++ [AC_MSG_ERROR([$with_tcl_errormsg])])
++ AC_MSG_RESULT(no, sorry)
+ fi
+ fi
+ fi
+@@ -1383,7 +1383,7 @@
+ AC_SUBST(RUBYLIBS)
+ AC_SUBST(TCLDOTOH)
+ AC_SUBST(TCLCFLAGS)
+-AC_SUBST(TCLLDFLAGS)
++AC_SUBST(TCLLIBS)
+ AC_SUBST(PERLDOTOH)
+ AC_SUBST(PERLCFLAGS)
+ AC_SUBST(PERLLDFLAGS)
+
+--- a/source/Makefile.in
++++ b/source/Makefile.in
+@@ -38,7 +38,7 @@
+ epic5: $(OBJECTS)
+ sh info.c.sh
+ $(CC) $(CFLAGS) $(INCLUDES) -c info.c
+- $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLIBS@ $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLIBS@ @RUBYLIBS@ $(LIBS)
+ $(RM) info.c info.o
+ clean::
+ $(RM) epic5 $(OBJECTS)