libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.2.10-63-g0e01d00


From: Peter Rosin
Subject: [SCM] GNU Libtool branch, master, updated. v2.2.10-63-g0e01d00
Date: Wed, 21 Jul 2010 16:23:19 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  0e01d00c70fe1eba2b746a6bb52e3c9277a4f1ef (commit)
       via  937319cb0a2a1d13d1b4d95e6aa0585e612c6023 (commit)
      from  653fa66d07f238fa9a3a337d3f8a72d95583d3c4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0e01d00c70fe1eba2b746a6bb52e3c9277a4f1ef
Author: Peter Rosin <address@hidden>
Date:   Sun Jul 18 17:17:15 2010 +0200

    dllimport when the lib is shared and not linking with -static
    
    * tests/stresstest.at: Link with main.lo when liba is shared
    and linking main with -no-install.

commit 937319cb0a2a1d13d1b4d95e6aa0585e612c6023
Author: Peter Rosin <address@hidden>
Date:   Sun Jul 18 17:17:06 2010 +0200

    dllimport variables for MSVC in stresstest.at
    
    * tests/stresstest.at [MSVC]: dllimport all imported
    variables.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |   10 ++++++++++
 tests/stresstest.at |   49 ++++++++++++++++++++++++++++++++-----------------
 2 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5c425b7..d7aecc4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-18  Peter Rosin  <address@hidden>
+
+       * tests/stresstest.at: Link with main.lo when liba is shared
+       and linking main with -no-install.
+
+2010-07-18  Peter Rosin  <address@hidden>
+
+       * tests/stresstest.at [MSVC]: dllimport all imported
+       variables.
+
 2010-07-17  Peter Rosin  <address@hidden>
 
        dllimport the variable for MSVC in link-order.at
diff --git a/tests/stresstest.at b/tests/stresstest.at
index ee5fd29..e71d492 100644
--- a/tests/stresstest.at
+++ b/tests/stresstest.at
@@ -93,29 +93,35 @@ AT_DATA(main.c,
 #if defined(LIBA_DLL_IMPORT)
 #  if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__)
 #    define LIBA_SCOPE extern __declspec(dllimport)
+#    if defined(_MSC_VER)
+#      define LIBA_SCOPE_VAR LIBA_SCOPE
+#    endif
 #  endif
 #endif
 #if !defined(LIBA_SCOPE)
 #  define LIBA_SCOPE extern
 #endif
+#if !defined(LIBA_SCOPE_VAR)
+#  define LIBA_SCOPE_VAR extern
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
-extern int v1;
-extern int v3, v4;
+LIBA_SCOPE_VAR int v1;
+LIBA_SCOPE_VAR int v3, v4;
 LIBA_SCOPE const int v5, v6;
-extern const char* v7;
-extern const char v8[];
+LIBA_SCOPE_VAR const char* v7;
+LIBA_SCOPE_VAR const char v8[];
 extern int v9(void);
-extern int (*v10) (void);
-extern int (*v11) (void);
+LIBA_SCOPE_VAR int (*v10) (void);
+LIBA_SCOPE_VAR int (*v11) (void);
 LIBA_SCOPE int (*const v12) (void);
 #ifdef __cplusplus
 }
 #endif
 
 typedef struct { int arr[1000]; } large;
-extern large v13, v14, v15;
+LIBA_SCOPE_VAR large v13, v14, v15;
 
 int main(void)
 {
@@ -131,26 +137,32 @@ AT_DATA(dlself.c,
 #if defined(LIBA_DLL_IMPORT)
 #  if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__)
 #    define LIBA_SCOPE extern __declspec(dllimport)
+#    if defined(_MSC_VER)
+#      define LIBA_SCOPE_VAR LIBA_SCOPE
+#    endif
 #  endif
 #endif
 #if !defined(LIBA_SCOPE)
 #  define LIBA_SCOPE extern
 #endif
+#if !defined(LIBA_SCOPE_VAR)
+#  define LIBA_SCOPE_VAR extern
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
-extern int v1;
-extern int v3, v4;
+LIBA_SCOPE_VAR int v1;
+LIBA_SCOPE_VAR int v3, v4;
 LIBA_SCOPE const int v5, v6;
-extern const char* v7;
-extern const char v8[];
+LIBA_SCOPE_VAR const char* v7;
+LIBA_SCOPE_VAR const char v8[];
 extern int v9(void);
-extern int (*v10) (void);
-extern int (*v11) (void);
+LIBA_SCOPE_VAR int (*v10) (void);
+LIBA_SCOPE_VAR int (*v11) (void);
 LIBA_SCOPE int (*const v12) (void);
 
 typedef struct { int arr[1000]; } large;
-extern large v13, v14, v15;
+LIBA_SCOPE_VAR large v13, v14, v15;
 
 extern int w1;
 extern int w3, w4;
@@ -252,9 +264,12 @@ do
                 [0],[ignore],[ignore])
        for st in '' '-static' '-no-install'
        do
-          case $st,$l3 in
-          ,-rpath*) mst= ;;
-          *) mst=-static ;;
+         # if -static is not passed, and the library is shared, then we have
+         # to use -DLIBA_DLL_IMPORT, thus main.lo (and not main-static.lo).
+         case $st,$l3 in
+         -static,*) mst=-static ;;
+         *,-rpath*) mst= ;;
+         *) mst=-static ;;
          esac
 
          LT_AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o 
"$rel"main$EXEEXT "$rel"main$mst.lo "$rel"sub2/liba.la],


hooks/post-receive
-- 
GNU Libtool



reply via email to

[Prev in Thread] Current Thread [Next in Thread]