1
0
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:
Jelmer Vernooij 2006-03-13 15:19:14 +00:00 committed by Gerald (Jerry) Carter
parent d2d9c0f25b
commit d563c448f7
4 changed files with 18 additions and 69 deletions

View File

@ -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

View File

@ -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");

View File

@ -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)" "$<" "$@"

View File

@ -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 $@