# convenience.at -- testing C convenience archives            -*- Autotest -*-

#   Copyright (C) 2005, 2007-2019, 2021-2025 Free Software Foundation,
#   Inc.
#   Written by Ralf Wildenhues, 2005
#
#   This file is part of GNU Libtool.
#
# GNU Libtool is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# GNU Libtool is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool.  If not, see <https://www.gnu.org/licenses/>.
####

# Test that convenience archives work.
# for each TAG, test:
# - adding one or multiple convenience archives
# - with or without additional objects on the cmdline

AT_SETUP([C convenience archives])
AT_KEYWORDS([libtool])

cat >main1.c <<EOF
extern int a1(void);
int main(void) { return a1() != 1; }
EOF
cat >main2.c <<EOF
extern int a1(void), a2(void);
int main(void) { return a1() + a2() != 3; }
EOF
cat >main3.c <<EOF
extern int a1(void), a2(void), a3(void);
int main(void) { return a1() + a2() + a3() != 6; }
EOF
for i in 1 2 3; do
  echo "int a$i(void) { return $i; }" > a$i.c
  $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main$i.c
  $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c
  $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo
done
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])

conv=
for i in 1 2 3; do
  conv=$conv$i
  AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  LT_AT_EXEC_CHECK([./main_static])
  LT_AT_EXEC_CHECK([./main])
done
AT_CLEANUP


AT_SETUP([C++ convenience archives])
LT_AT_TAG([CXX])
AT_KEYWORDS([libtool])

cat >main1.cpp <<EOF
extern int a1(void);
int main(void) { return a1() != 1; }
EOF
cat >main2.cpp <<EOF
extern int a1(void), a2(void);
int main(void) { return a1() + a2() != 3; }
EOF
cat >main3.cpp <<EOF
extern int a1(void), a2(void), a3(void);
int main(void) { return a1() + a2() + a3() != 6; }
EOF
for i in 1 2 3; do
  echo "int a$i(void) { return $i; }" > a$i.cpp
  $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp
  $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp
  $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo
done
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])

conv=
for i in 1 2 3; do
  conv=$conv$i
  AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  LT_AT_EXEC_CHECK([./main_static])
  LT_AT_EXEC_CHECK([./main])
done
AT_CLEANUP


AT_SETUP([F77 convenience archives])
LT_AT_TAG([F77])
AT_KEYWORDS([libtool])

cat >main1.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      end
EOF
cat >main2.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      call a2(res)
      end
EOF
cat >main3.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      call a2(res)
      call a3(res)
      end
EOF

for i in 1 2 3; do
  cat >a$i.f <<EOF
      subroutine a$i(res)
      implicit none
      integer*4 res
      res=$i
      return
      end
EOF
  $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c main$i.f
  $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c a$i.f
  $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba$i.la a$i.lo
done
AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])
AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])

conv=
for i in 1 2 3; do
  conv=$conv$i
  AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  LT_AT_EXEC_CHECK([./main_static])
  LT_AT_EXEC_CHECK([./main])
done
AT_CLEANUP


AT_SETUP([FC convenience archives])
LT_AT_TAG([FC])
AT_KEYWORDS([libtool])

cat >main1.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      end
EOF
cat >main2.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      call a2(res)
      end
EOF
cat >main3.f <<EOF
      program main
      implicit none
      integer*4 res
      call a1(res)
      call a2(res)
      call a3(res)
      end
EOF

for i in 1 2 3; do
  cat >a$i.f <<EOF
      subroutine a$i(res)
      implicit none
      integer*4 res
      res=$i
      return
      end
EOF
  $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c main$i.f
  $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c a$i.f
  $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba$i.la a$i.lo
done
AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])
AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])

conv=
for i in 1 2 3; do
  conv=$conv$i
  AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  LT_AT_EXEC_CHECK([./main_static])
  LT_AT_EXEC_CHECK([./main])
done
AT_CLEANUP


AT_SETUP([Java convenience archives])
LT_AT_EXEC_TAG([GCJ])
AT_KEYWORDS([libtool])

cat >foo1.java <<EOF
public class foo1 {
  public static void main(String[[]] argv) {
    A1 a1 = new A1();
  }
}
EOF
cat >foo2.java <<EOF
public class foo2 {
  public static void main(String[[]] argv) {
    A1 a1 = new A1(); A2 a2 = new A2();
  }
}
EOF
cat >foo3.java <<EOF
public class foo3 {
  public static void main(String[[]] argv) {
    A1 a1 = new A1(); A2 a2 = new A2(); A3 a3 = new A3();
  }
}
EOF
for i in 1 2 3; do
  cat >A$i.java <<EOF
public class A$i {
  private int a;
  public A$i () { a = 0; }
};
EOF

  # Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143
  # Some 4.3.x and 4.4.x releases of gcj insert a spurious dummy symbol
  # into every object file when compiling directly from .java to .o, so
  # we have to make .class files first, and then compile those to native
  # objects:
  $GCJ $GCJFLAGS -C foo$i.java
  $GCJ $GCJFLAGS -C A$i.java

  $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c foo$i.class
  $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c A$i.class
  $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba$i.la A$i.lo
done
AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])
AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist],
	 [0],[ignore],[ignore])

conv=
for i in 1 2 3; do
  conv=$conv$i
  AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la],
	   [0],[ignore],[ignore])
  LT_AT_EXEC_CHECK([./main_static])
  LT_AT_EXEC_CHECK([./main])
done
AT_CLEANUP
