1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

r13902: Stricter checking for the -fvisibility flag

Add two more proto headers.
(This used to be commit 0c95bf0cd3)
This commit is contained in:
Jelmer Vernooij 2006-03-06 22:01:03 +00:00 committed by Gerald (Jerry) Carter
parent 9862fabead
commit c389883ba2
8 changed files with 29 additions and 15 deletions

View File

@ -115,18 +115,25 @@ AC_TRY_RUN([#include "${srcdir-.}/build/tests/trivial.c"],
#
# Check if the compiler support ELF visibility for symbols
#
visibility_attribute=no
AC_MSG_CHECKING([whether the C compiler supports the visibility attribute])
AC_TRY_RUN([
#pragma GCC visibility push(hidden)
void vis_foo1(void) {}
__attribute__((visibility("default"))) void vis_foo2(void) {}
#include "${srcdir-.}/build/tests/trivial.c"
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_VISIBILITY_ATTR,1,[Whether the C compiler supports the visibility attribute])
visibility_attribute=yes
], [AC_MSG_RESULT(no);])
if test x"$GCC" = x"yes" ; then
AX_CFLAGS_GCC_OPTION([-fvisibility=hidden], VISIBILITY_CFLAGS)
fi
if test -n "$VISIBILITY_CFLAGS"; then
AC_MSG_CHECKING([whether the C compiler supports the visibility attribute])
AC_TRY_RUN([
#pragma GCC visibility push(hidden)
void vis_foo1(void) {}
__attribute__((visibility("default"))) void vis_foo2(void) {}
#include "${srcdir-.}/build/tests/trivial.c"
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_VISIBILITY_ATTR,1,[Whether the C compiler supports the visibility attribute])
visibility_attribute=yes
], [AC_MSG_RESULT(no);])
fi
AC_SUBST(visibility_attribute)
#

View File

@ -111,8 +111,8 @@ sub create_output($$)
$part->{OUTPUT_TYPE} = "OBJLIST";
}
if ($part->{DEFAULT_VISIBILITY} ne "default" and
$config->{visibility_attribute} eq "yes") {
if (($part->{DEFAULT_VISIBILITY} ne "default") and
($config->{visibility_attribute} eq "yes")) {
$part->{EXTRA_CFLAGS} .= " -fvisibility=$part->{DEFAULT_VISIBILITY}";
}

View File

@ -31,4 +31,7 @@ struct com_context
typedef struct IUnknown *(*get_class_object_function) (const struct GUID *clsid);
#include "lib/com/proto.h"
#endif /* _COM_H */

View File

@ -1,12 +1,12 @@
[SUBSYSTEM::COM]
PRIVATE_PROTO_HEADER = com_proto.h
PRIVATE_PROTO_HEADER = proto.h
OBJ_FILES = \
tables.o \
rot.o \
main.o
[SUBSYSTEM::DCOM]
PRIVATE_PROTO_HEADER = dcom_proto.h
PRIVATE_PROTO_HEADER = dcom/proto.h
OBJ_FILES = \
dcom/main.o \
dcom/tables.o

View File

@ -22,6 +22,7 @@
#define _DCOM_H
#include "lib/com/com.h"
#include "lib/com/dcom/proto.h"
struct dcom_client_context {
struct cli_credentials *credentials;

View File

@ -21,6 +21,7 @@
#include "includes.h"
#include "lib/com/com.h"
#include "lib/com/dcom/dcom.h"
#include "librpc/gen_ndr/com_dcom.h"
#include "lib/cmdline/popt_common.h"

View File

@ -3,6 +3,7 @@
#######################
# Start SUBSYSTEM WEB
[SUBSYSTEM::WEB]
PRIVATE_PROTO_HEADER = proto.h
OBJ_FILES = \
web_server.o \
http.o

View File

@ -19,6 +19,7 @@
*/
#include "smbd/process_model.h"
#include "web_server/proto.h"
/*
context of one open web connection