-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
interpreter: add <lang>_(static|shared)_args
Which allow passing arguments specifically to the static or shared libraries (but not shared_modules). For design, this is all handled in the interpreter, by the build layer the arguments are combined into the existing fields. This limits changes required in the mid and backend layers
- Loading branch information
Showing
11 changed files
with
79 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## `<lang>_(shared|static)_args` for both_library | ||
|
||
We now allow passing arguments like `c_static_args` and `c_shared_args`. This | ||
allows a `both_library` to have arguments specific to either the shared or | ||
static library, as well as common arguments to both. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
int func3(const int x) { | ||
return x + 1; | ||
} | ||
|
||
#ifndef WORK | ||
# error "did not get static only C args" | ||
#endif | ||
|
||
#ifdef BREAK | ||
# error "got shared only C args, but shouldn't have" | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#if defined _WIN32 || defined __CYGWIN__ | ||
#define DLL_PUBLIC __declspec(dllexport) | ||
#else | ||
#if defined __GNUC__ | ||
#define DLL_PUBLIC __attribute__ ((visibility("default"))) | ||
#else | ||
#pragma message ("Compiler does not support symbol visibility.") | ||
#define DLL_PUBLIC | ||
#endif | ||
#endif | ||
|
||
#ifndef WORK | ||
# error "Did not get shared only arguments" | ||
#endif | ||
|
||
#ifdef BREAK | ||
# error "got static only C args, but shouldn't have" | ||
#endif | ||
|
||
int DLL_PUBLIC libfunc(void) { | ||
return 3; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters