X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=mk-1st.awk;h=9e21ad94cac3a92e0e03b76a7eedf243590a2c7a;hp=991f47f93333491a0f689c290402140ad37ac522;hb=8fc9fa113b27e0749e0840fef04c9d4acad4aae7;hpb=b5a763d403a45cf54f774f07e1542d4ca8433e2b diff --git a/mk-1st.awk b/mk-1st.awk index 991f47f9..9e21ad94 100644 --- a/mk-1st.awk +++ b/mk-1st.awk @@ -1,6 +1,6 @@ -# $Id: mk-1st.awk,v 1.77 2007/03/11 13:37:22 tom Exp $ +# $Id: mk-1st.awk,v 1.81 2009/03/28 18:59:51 Charles.Wilson Exp $ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -41,6 +41,7 @@ # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable) # ShlibVerInfix ("yes" or "no", determines location of version #) # TermlibRoot ("tinfo" or other root for libterm.so) +# TermlibSuffix (".so" or other suffix for libterm.so) # ReLink ("yes", or "no", flag to rebuild shared libs on install) # DoLinks ("yes", "reverse" or "no", flag to add symbolic links) # rmSoLocs ("yes" or "no", flag to add extra clean target) @@ -58,7 +59,7 @@ function is_ticlib() { return ( subset ~ /^ticlib$/ ); } function is_termlib() { - return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ ); + return ( subset ~ /^(ticlib\+)?termlib((\+[^+ ]+)*\+ext_tinfo)?$/ ); } # see lib_name function lib_name_of(a_name) { @@ -163,6 +164,15 @@ function sharedlinks(directory) { printf ")\n" } } +# termlib may be named explicitly via "--with-termlib=XXX", which overrides +# any suffix. Temporarily override "suffix" to account for this. +function termlib_end_of() { + termlib_save_suffix = suffix; + suffix = TermlibSuffix; + termlib_temp_result = end_name_of(TermlibRoot); + suffix = termlib_save_suffix; + return termlib_temp_result; +} function shlib_build(directory) { dst_libs = sprintf("%s/%s", directory, end_name); printf "%s : \\\n", dst_libs @@ -171,9 +181,9 @@ function shlib_build(directory) { save_suffix = suffix sub(/^[^.]\./,".",suffix) if (directory != "../lib") { - printf "\t\t%s/%s \\\n", "../lib", end_name_of(TermlibRoot); + printf "\t\t%s/%s \\\n", "../lib", termlib_end_of(); } - printf "\t\t%s/%s \\\n", directory, end_name_of(TermlibRoot); + printf "\t\t%s/%s \\\n", directory, termlib_end_of(); suffix = save_suffix } printf "\t\t$(%s_OBJS)\n", OBJS @@ -231,6 +241,7 @@ BEGIN { printf "# ShlibVer: %s\n", ShlibVer printf "# ShlibVerInfix: %s\n", ShlibVerInfix printf "# TermlibRoot: %s\n", TermlibRoot + printf "# TermlibSuffix: %s\n", TermlibSuffix printf "# ReLink: %s\n", ReLink printf "# DoLinks: %s\n", DoLinks printf "# rmSoLocs: %s\n", rmSoLocs @@ -375,7 +386,13 @@ END { } end_name = lib_name; printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS + if ( is_ticlib() ) { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TICS_LIST)\n", compile, lib_name, OBJS + } else if ( is_termlib() ) { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TINFO_LIST)\n", compile, lib_name, OBJS + } else { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)\n", compile, lib_name, OBJS + } print "" print "install \\" print "install.libs \\" @@ -393,7 +410,7 @@ END { { end_name = lib_name; printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\t$(AR) $(AR_OPTS) $@ $?\n" + printf "\t$(AR) $(ARFLAGS) $@ $?\n" printf "\t$(RANLIB) $@\n" if ( host == "vxworks" ) {