tests: Test extern'd globals on MacOS with the Apple Archiver

This forces the use of the Apple archiver, since that archiver doesn't
add extern'd variables to the symbol table automatically, and instead
requires that ranlib be used. A native file is used to ensure that
Apple's ar is used even in the presence of llvm or gcc in the path with
their superior archivers.

Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
1.2
Ailin Nemui 2 years ago committed by Nirbheek Chauhan
parent 6048775e47
commit 1209da69be
  1. 9
      test cases/osx/9 global variable ar/libfile.c
  2. 7
      test cases/osx/9 global variable ar/libfile2.c
  3. 6
      test cases/osx/9 global variable ar/meson.build
  4. 2
      test cases/osx/9 global variable ar/nativefile.ini
  5. 7
      test cases/osx/9 global variable ar/prog.c

@ -0,0 +1,9 @@
// Source: https://lists.gnu.org/archive/html/libtool/2002-07/msg00025.html
#include <stdio.h>
extern int l2;
void l1(void)
{
printf("l1 %d\n", l2);
}

@ -0,0 +1,7 @@
// Source: https://lists.gnu.org/archive/html/libtool/2002-07/msg00025.html
int l2;
void l2_func(void)
{
l2 = 77;
}

@ -0,0 +1,6 @@
# Source: https://lists.gnu.org/archive/html/libtool/2002-07/msg00025.html
project('global variable test', 'c')
lib = static_library('mylib', 'libfile.c', 'libfile2.c')
test('global variable', executable('prog', 'prog.c', link_with: lib))

@ -0,0 +1,7 @@
// Source: https://lists.gnu.org/archive/html/libtool/2002-07/msg00025.html
extern void l1(void);
int main(void)
{
l1();
}
Loading…
Cancel
Save