mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r14322: Remove the BROKEN_CC flag for now. None of the buildfarm hosts has
a C compiler that doesn't support -c and -o together and it makes the build system more complicated. This also means the current handling of broken C compilers is most likely broken as it isn't tested. This detection can be readded when we stumble upon a C compiler that supports both C99 (or at least the parts of it we need) and also has broken -c/-o handling, which I think is unlikely to happen. (This used to be commit 7fd74cfbb90063c79994fb6691dbe456d9ad9efa)
This commit is contained in:
parent
d2d9c0f25b
commit
d563c448f7
@ -26,15 +26,6 @@ fi
|
||||
dnl needed before AC_TRY_COMPILE
|
||||
AC_ISC_POSIX
|
||||
|
||||
dnl Check if C compiler understands -c and -o at the same time
|
||||
AC_PROG_CC_C_O
|
||||
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
|
||||
BROKEN_CC=yes
|
||||
else
|
||||
BROKEN_CC=no
|
||||
fi
|
||||
AC_SUBST(BROKEN_CC)
|
||||
|
||||
AC_CACHE_CHECK([that the C compiler can precompile header files],samba_cv_precompiled_headers, [
|
||||
dnl Check whether the compiler can generate precompiled headers
|
||||
touch conftest.h
|
||||
|
@ -44,10 +44,6 @@ sub new($$$)
|
||||
|
||||
$self->_prepare_path_vars();
|
||||
$self->_prepare_compiler_linker();
|
||||
$self->output(".SUFFIXES: .x .c .et .y .l .d .o .h .h.gch .a .so .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml .8 .8.xml .ho\n");
|
||||
$self->_prepare_hostcc_rule();
|
||||
$self->_prepare_std_CC_rule("c","o",'$(PICFLAG)',"Compiling","Rule for std objectfiles");
|
||||
$self->_prepare_std_CC_rule("h","h.gch",'$(PICFLAG)',"Precompiling","Rule for precompiled headerfiles");
|
||||
|
||||
return $self;
|
||||
}
|
||||
@ -167,60 +163,6 @@ sub _prepare_mk_files($)
|
||||
$self->output("MK_FILES = " . array2oneperline(\@tmp) . "\n");
|
||||
}
|
||||
|
||||
sub _prepare_dummy_MAKEDIR($)
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
$self->output(<< '__EOD__'
|
||||
dynconfig.o: dynconfig.c Makefile
|
||||
@echo Compiling $*.c
|
||||
@$(CC) $(CFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
|
||||
__EOD__
|
||||
);
|
||||
if ($self->{config}->{BROKEN_CC} eq "yes") {
|
||||
$self->output(' -mv `echo $@ | sed \'s%^.*/%%g\'` $@
|
||||
');
|
||||
}
|
||||
$self->output("\n");
|
||||
}
|
||||
|
||||
sub _prepare_std_CC_rule($$$$$$)
|
||||
{
|
||||
my ($self,$src,$dst,$flags,$message,$comment) = @_;
|
||||
|
||||
$self->output(<< "__EOD__"
|
||||
# $comment
|
||||
.$src.$dst:
|
||||
\@echo $message \$\*.$src
|
||||
\@\$(CC) `script/cflags.pl \$\@` \$(CFLAGS) $flags -c \$\*.$src -o \$\@
|
||||
__EOD__
|
||||
);
|
||||
if ($self->{config}->{BROKEN_CC} eq "yes") {
|
||||
$self->output(' -mv `echo $@ | sed \'s%^.*/%%g\'` $@
|
||||
');
|
||||
}
|
||||
|
||||
$self->output("\n");
|
||||
}
|
||||
|
||||
sub _prepare_hostcc_rule($)
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
$self->output(<< "__EOD__"
|
||||
.c.ho:
|
||||
\@echo Compiling \$\*.c with host compiler
|
||||
\@\$(HOSTCC) `script/cflags.pl \$\@` \$(CFLAGS) -c \$\*.c -o \$\@
|
||||
__EOD__
|
||||
);
|
||||
if ($self->{config}->{BROKEN_CC} eq "yes") {
|
||||
$self->output(' -mv `echo $@ | sed \'s%^.*/%%g\' -e \'s%\.ho$$%.o%\'` $@
|
||||
');
|
||||
}
|
||||
|
||||
$self->output("\n");
|
||||
}
|
||||
|
||||
sub array2oneperline($)
|
||||
{
|
||||
my $array = shift;
|
||||
@ -604,8 +546,6 @@ __EOD__
|
||||
);
|
||||
}
|
||||
|
||||
$self->_prepare_dummy_MAKEDIR();
|
||||
|
||||
$self->output($self->{mkfile});
|
||||
|
||||
open(MAKEFILE,">$file") || die ("Can't open $file\n");
|
||||
|
@ -333,10 +333,24 @@ unused_macros:
|
||||
# File types
|
||||
###############################################################################
|
||||
|
||||
.SUFFIXES: .x .c .et .y .l .d .o .h .h.gch .a .so .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml .8 .8.xml .ho
|
||||
|
||||
.c.ho:
|
||||
@echo Compiling $*.c with host compiler
|
||||
@$(HOSTCC) `script/cflags.pl $@` $(CFLAGS) -c $*.c -o $@
|
||||
|
||||
.c.d:
|
||||
@echo "Generating dependencies for $<"
|
||||
@$(CC) -MM -MG -MT $(<:.c=.o) -MF $@ $(CFLAGS) $<
|
||||
|
||||
.c.o:
|
||||
@echo Compiling $<
|
||||
@$(CC) `script/cflags.pl $@` $(CFLAGS) $(PICFLAG) -c $< -o $@
|
||||
|
||||
.h.h.gch:
|
||||
@echo Precompiling $<
|
||||
@$(CC) `script/cflags.pl $@` $(CFLAGS) $(PICFLAG) -c $< -o $@
|
||||
|
||||
.y.c:
|
||||
@echo "Building $< with $(YACC)"
|
||||
@-$(srcdir)/script/yacc_compile.sh "$(YACC)" "$<" "$@"
|
||||
|
@ -5,3 +5,7 @@ OBJ_FILES = ../dynconfig.o \
|
||||
generic.o
|
||||
REQUIRED_SUBSYSTEMS = LIBBASIC
|
||||
PRIVATE_PROTO_HEADER = param.h
|
||||
|
||||
dynconfig.o: dynconfig.c Makefile
|
||||
@echo Compiling $<
|
||||
@$(CC) $(CFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
|
||||
|
Loading…
x
Reference in New Issue
Block a user