configure: use relative paths for in-tree build

Also
- move CPPFLAGS to Makefile
- Use top_srcdir in lib/Makefile
This commit is contained in:
grischka 2013-01-30 18:39:09 +01:00
parent 6ccee6edb3
commit 17cf0dcf70
3 changed files with 19 additions and 16 deletions

View file

@ -6,6 +6,8 @@ TOP ?= .
include $(TOP)/config.mak include $(TOP)/config.mak
VPATH = $(top_srcdir) VPATH = $(top_srcdir)
CPPFLAGS = -I$(TOP) # for config.h
CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC
CFLAGS_P=$(CFLAGS) -pg -static CFLAGS_P=$(CFLAGS) -pg -static
LIBS_P= LIBS_P=

27
configure vendored
View file

@ -409,14 +409,14 @@ print_var2 CONFIG_TCC_LIBPATHS "$tcc_libpaths"
print_var2 CONFIG_TCC_CRTPREFIX "$tcc_crtprefix" print_var2 CONFIG_TCC_CRTPREFIX "$tcc_crtprefix"
print_var2 CONFIG_TCC_ELFINTERP "$tcc_elfinterp" print_var2 CONFIG_TCC_ELFINTERP "$tcc_elfinterp"
echo "CC=$cc" >> config.mak
echo "GCC_MAJOR=$gcc_major" >> config.mak
echo "#define GCC_MAJOR $gcc_major" >> $TMPH echo "#define GCC_MAJOR $gcc_major" >> $TMPH
echo "HOST_CC=$host_cc" >> config.mak
echo "AR=$ar" >> config.mak
echo "STRIP=$strip -s -R .comment -R .note" >> config.mak
cat >> config.mak <<EOF cat >> config.mak <<EOF
CPPFLAGS = -I. -I\$(top_srcdir) CC=$cc
GCC_MAJOR=$gcc_major
HOST_CC=$host_cc
AR=$ar
STRIP=$strip -s -R .comment -R .note
CFLAGS=$CFLAGS CFLAGS=$CFLAGS
LDFLAGS=$LDFLAGS LDFLAGS=$LDFLAGS
LIBSUF=$LIBSUF LIBSUF=$LIBSUF
@ -491,10 +491,12 @@ if test "$have_selinux" = "yes" ; then
echo "#define HAVE_SELINUX" >> $TMPH echo "#define HAVE_SELINUX" >> $TMPH
echo "HAVE_SELINUX=yes" >> config.mak echo "HAVE_SELINUX=yes" >> config.mak
fi fi
version=`head $source_path/VERSION` version=`head $source_path/VERSION`
echo "VERSION=$version" >>config.mak echo "VERSION=$version" >>config.mak
echo "#define TCC_VERSION \"$version\"" >> $TMPH echo "#define TCC_VERSION \"$version\"" >> $TMPH
echo "@set VERSION $version" > config.texi echo "@set VERSION $version" > config.texi
echo "SRC_PATH=$source_path" >>config.mak
# build tree in object directory if source path is different from current one # build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then if test "$source_path_used" = "yes" ; then
@ -511,15 +513,14 @@ if test "$source_path_used" = "yes" ; then
esac esac
ln -sf $dest $f ln -sf $dest $f
done done
fi
cat >>config.mak <<EOF
SRC_PATH = $source_path
top_builddir = \$(TOP)
EOF
case $source_path in case $source_path in
/*) echo 'top_srcdir = $(SRC_PATH)';; /*) echo "top_srcdir=$source_path";;
*) echo 'top_srcdir = $(TOP)/$(SRC_PATH)';; *) echo "top_srcdir=\$(TOP)/$source_path";;
esac >>config.mak esac >>config.mak
else
echo 'top_srcdir=$(TOP)' >>config.mak
fi
echo 'top_builddir=$(TOP)' >>config.mak
diff $TMPH config.h >/dev/null 2>&1 diff $TMPH config.h >/dev/null 2>&1
if test $? -ne 0 ; then if test $? -ne 0 ; then

View file

@ -46,13 +46,13 @@ WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o
ifeq "$(TARGET)" "i386-win32" ifeq "$(TARGET)" "i386-win32"
OBJ = $(addprefix $(DIR)/,$(WIN32_O)) OBJ = $(addprefix $(DIR)/,$(WIN32_O))
TGT = -DTCC_TARGET_I386 -DTCC_TARGET_PE TGT = -DTCC_TARGET_I386 -DTCC_TARGET_PE
XCC = $(TCC) -B$(TOP)/win32 -I$(TOP)/include XCC = $(TCC) -B$(top_srcdir)/win32 -I$(top_srcdir)/include
XAR = $(DIR)/tiny_libmaker$(EXESUF) XAR = $(DIR)/tiny_libmaker$(EXESUF)
else else
ifeq "$(TARGET)" "x86_64-win32" ifeq "$(TARGET)" "x86_64-win32"
OBJ = $(addprefix $(DIR)/,$(WIN64_O)) OBJ = $(addprefix $(DIR)/,$(WIN64_O))
TGT = -DTCC_TARGET_X86_64 -DTCC_TARGET_PE TGT = -DTCC_TARGET_X86_64 -DTCC_TARGET_PE
XCC = $(TCC) -B$(TOP)/win32 -I$(TOP)/include XCC = $(TCC) -B$(top_srcdir)/win32 -I$(top_srcdir)/include
XAR = $(DIR)/tiny_libmaker$(EXESUF) XAR = $(DIR)/tiny_libmaker$(EXESUF)
else else
ifeq "$(TARGET)" "i386" ifeq "$(TARGET)" "i386"