This patch makes gnulib-tool generated packages work on MacOS X, even when
no object files is needed in the library. We already have a 'dummy' module
for this case. Now gnulib-tool makes use of it.

2006-01-08  Bruno Haible  <[EMAIL PROTECTED]>

        Avoid "ar: no archive members specified" error on MacOS X.
        * gnulib-tool (func_modules_add_dummy): New function.
        (func_import, func_create_testdir): Invoke it.





*** gnulib-tool.bak	2006-01-08 16:43:14.000000000 +0100
--- gnulib-tool	2006-01-08 22:09:24.000000000 +0100
***************
*** 634,639 ****
--- 634,673 ----
    done
  }
  
+ # func_modules_add_dummy
+ # Input:
+ # - modules         list of modules, including dependencies
+ # Output:
+ # - modules         list of modules, including 'dummy' if needed
+ func_modules_add_dummy ()
+ {
+   have_lib_SOURCES=
+   sed_remove_backslash_newline=':a
+ /\\$/{
+ s/\\$//
+ N
+ s/\n//
+ ba
+ }'
+   for module in $modules; do
+     func_verify_nontests_module
+     if test -n "$module"; then
+       # Extract the value of "lib_SOURCES += ...".
+       for file in `func_get_automake_snippet "$module" | sed -e "$sed_remove_backslash_newline" | sed -n -e 's,^lib_SOURCES[ 	]*+=\([^#]*\).*$,\1,p'`; do
+         # Ignore .h files since they are not compiled.
+         case "$file" in
+           *.h) ;;
+           *) have_lib_SOURCES=yes ;;
+         esac
+       done
+     fi
+   done
+   # Add the dummy module, to make sure the library will be non-empty.
+   if test -z "$have_lib_SOURCES"; then
+     modules="$modules dummy"
+   fi
+ }
+ 
  # func_modules_to_filelist
  # Input:
  # - modules         list of modules, including dependencies
***************
*** 945,950 ****
--- 979,987 ----
    echo "Module list with included dependencies:"
    echo "$modules" | sed -e 's/^/  /'
  
+   # Add the dummy module if needed.
+   func_modules_add_dummy
+ 
    # If --lgpl, check the license of modules are compatible.
    if test -n "$lgpl"; then
      for module in $modules; do
***************
*** 1390,1395 ****
--- 1427,1435 ----
    echo "Module list with included dependencies:"
    echo "$modules" | sed -e 's/^/  /'
  
+   # Add the dummy module if needed.
+   func_modules_add_dummy
+ 
    # Determine final file list.
    func_modules_to_filelist
    echo "File list:"
_______________________________________________
bug-gnulib mailing list
bug-gnulib@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnulib

Reply via email to