X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=mk-1st.awk;h=7d9390522895ac349826f866d602bf04506b5b14;hp=991f47f93333491a0f689c290402140ad37ac522;hb=41677b308e138027b7e435f741ee7fe5651237b0;hpb=b5a763d403a45cf54f774f07e1542d4ca8433e2b diff --git a/mk-1st.awk b/mk-1st.awk index 991f47f9..7d939052 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.83 2010/05/15 19:14:44 tom Exp $ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2009,2010 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) @@ -48,6 +49,7 @@ # overwrite ("yes" or "no", flag to add link to libcurses.a # depend (optional dependencies for all objects, e.g, ncurses_cfg.h) # host (cross-compile host, if any) +# libtool_version (libtool "-version-info" or "-version-number") # # Notes: # CLIXs nawk does not like underscores in command-line variable names. @@ -58,7 +60,7 @@ function is_ticlib() { return ( subset ~ /^ticlib$/ ); } function is_termlib() { - return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ ); + return ( subset ~ /^(ticlib\+)?termlib((\+[^+ ]+)*\+[a-z_]+_tinfo)?$/ ); } # see lib_name function lib_name_of(a_name) { @@ -163,6 +165,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 +182,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 +242,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 +387,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) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TICS_LIST)\n", compile, lib_name, OBJS, libtool_version + } else if ( is_termlib() ) { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TINFO_LIST)\n", compile, lib_name, OBJS, libtool_version + } else { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)\n", compile, lib_name, OBJS, libtool_version + } print "" print "install \\" print "install.libs \\" @@ -393,7 +411,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" ) {