Commit e76fd0e0 authored by kocienda's avatar kocienda

I have made substantial changes to the build environment in WebCore,...

I have made substantial changes to the build environment in WebCore, specifically to the way we link our code. The main improvement is that we now build a single library, called libwebcore.dylib, for the whole source tree.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent ebc7c9db
......@@ -73,7 +73,9 @@ CXXOBJECTS = \
PROGRAM = testkjs
OBJECTS = $(CXXYACCOBJECTS) $(CXXOBJECTS)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS_DIR = $(TOPSRCDIR)/lib/kjs
LIBRARY = libkjs.a
......@@ -94,7 +96,7 @@ YACCFLAGS = -d --output-file=grammar.cpp --name-prefix=kjsyy
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY) $(PROGRAM)
all: $(CXXYACCOBJECTS) $(OBJECTS) $(LIBRARY) $(PROGRAM) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -5,3 +5,4 @@ config.status
config.log
config.h
config.cache
lib
......@@ -31,6 +31,7 @@ SUBDIRS = \
src/kwq/ \
src/kwq/qt \
src/kwq/kde \
lib \
src/kwq/tests \
src/kwq/tests/qt \
$(NULL)
......@@ -63,8 +64,6 @@ test:
./harness
local-all:
./makelibkde
local-dep:
local-install:
local-setup:
......
......@@ -49,6 +49,21 @@ $(filter %.o,$(CXXOBJECTS)): %.o: %.cpp
#----------------------------------------------------------------------
# Standard subdir targets
export-objects: $(EXPORT_OBJECTS)
if [ ! -d "$(EXPORT_OBJECTS_DIR)" ]; then \
rm -f $(EXPORT_OBJECTS_DIR); \
mkdir -p $(EXPORT_OBJECTS_DIR); \
fi
for OBJECT in $?; do \
ln -f $$OBJECT $(EXPORT_OBJECTS_DIR)/$$OBJECT; \
done
touch $@
lib:
@$(MAKE) && \
(cd $(TOPSRCDIR)/lib || mkdir $(TOPSRCDIR)/lib) && \
$(MAKE)
setup:
@if (test -f "./MakeSystemChanges.sh"); then \
./MakeSystemChanges.sh; \
......@@ -58,7 +73,7 @@ depend:
$(CC) -MM $(DEPFLAGS) $(SOURCES) > Makefile.dep
clean:
rm -f ${CLEAN_FILES} core
rm -rf ${CLEAN_FILES} core
distclean:
${MAKE} clean
......
......@@ -22,6 +22,8 @@ YACCOBJECTS =
COBJECTS =
CXXOBJECTS =
OBJECTS =
EXPORT_OBJECTS =
EXPORT_OBJECTS_DIR = $(TOPSRCDIR)/lib
HEADERS =
CLEAN_FILES =
......@@ -48,6 +50,7 @@ BASECMMFLAGS = @CXXFLAGS@
BASELDFLAGS = @LDFLAGS@
BASEYACCFLAGS = @YACCFLAGS@
BASELEXFLAGS = @LEXFLAGS@
BASEDYLIBFLAGS = @DYLIBFLAGS@
ARFLAGS = $(BASEARFLAGS)
CFLAGS = $(BASECFLAGS)
......@@ -56,6 +59,7 @@ CMMFLAGS = $(BASECMMFLAGS)
LDFLAGS = $(BASELDFLAGS)
YACCFLAGS = $(BASEYACCFLAGS)
LEXFLAGS = $(BASELEXFLAGS)
DYLIBFLAGS = $(BASEDYLIBFLAGS)
DEPFLAGS = $(BASECXXFLAGS)
......
This diff is collapsed.
......@@ -59,10 +59,12 @@ if test -z "$ac_cv_prog_CXX"; then
$CONFIG_ERR c++
exit 1
fi
CFLAGS="-g -fno-coalesce-static-vtables -DHAVE_CONFIG_H"
CFLAGS="-DHAVE_CONFIG_H -g -fno-common"
AC_SUBST(CFLAGS)
CXXFLAGS=$CFLAGS
CXXFLAGS="$CFLAGS -fno-coalesce-static-vtables"
AC_SUBST(CXXFLAGS)
DYLIBFLAGS="-dynamiclib"
AC_SUBST(DYLIBFLAGS)
AC_DECL_YYTEXT
AC_CHECK_PROGS(LEX, flex lex)
......@@ -725,5 +727,6 @@ AC_OUTPUT(
src/kwq/kde/Makefile
src/kwq/tests/Makefile
src/kwq/tests/qt/Makefile
lib/Makefile
)
......@@ -8,3 +8,4 @@ SunWS_cache
ir.out
testkhtml_static
*.moc
export-objects
......@@ -23,6 +23,7 @@ CXXOBJECTS = \
$(NULL)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtml.a
......@@ -60,7 +61,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -11,3 +11,4 @@ cssvalues.h
cssproperties.c
cssproperties.strip
cssproperties.h
export-objects
......@@ -43,6 +43,7 @@ PROPFILES = \
CFILES = $(VALUEFILES) $(PROPFILES)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlcss.a
......@@ -78,7 +79,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(CFILES) $(OBJECTS) $(LIBRARY)
all: $(CFILES) $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -2,3 +2,4 @@ Makefile
Makefile.in
*.kde
*.dep
export-objects
......@@ -23,6 +23,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmldom.a
......@@ -56,7 +57,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -5,3 +5,4 @@ Makefile.in
*.dep
*.moc
*.gperf
export-objects
......@@ -20,6 +20,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(filter-out testecma.o,$(CXXOBJECTS))
LIBRARY = libkhtmlecma.a
......@@ -56,7 +57,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) $(LIBRARY) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -3,3 +3,4 @@ Makefile.in
*.dep
*.moc
*.kde
export-objects
......@@ -20,6 +20,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlhtml.a
......@@ -58,7 +59,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -4,3 +4,4 @@ Makefile.in
*.kde
*.dep
*.moc
export-objects
......@@ -25,6 +25,7 @@ SKIPOBJECTS = javaembed.o
CXXOBJECTS = $(filter-out $(SKIPOBJECTS),$(ALLOBJECTS))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmljava.a
......@@ -55,7 +56,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -10,3 +10,4 @@ htmltags.gperf
htmlattrs.c
htmlattrs.h
htmlattrs.gperf
export-objects
......@@ -37,6 +37,7 @@ ATTRSFILES = \
CFILES = $(TAGFILES) $(ATTRSFILES)
OBJECTS = khtmldata.h $(CFILES) $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlmisc.a
......@@ -69,7 +70,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(CFILES) $(OBJECTS) $(LIBRARY)
all: $(CFILES) $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -5,3 +5,4 @@ Makefile.in
*.dep
*.moc
*.gperf
export-objects
......@@ -20,6 +20,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlrendering.a
......@@ -60,7 +61,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) $(LIBRARY) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -4,3 +4,4 @@ Makefile.in
*.kde
*.dep
*.moc
export-objects
......@@ -36,6 +36,7 @@ CXXOBJECTS = \
$(NULL)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlxml.a
......@@ -72,7 +73,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
dom_docimpl.cpp: dom_docimpl.moc
dom_docimpl.moc:
......
Makefile
*.dummy
export-objects
......@@ -29,4 +29,6 @@ KCompletionBox::KCompletionBox()
{
}
KCompletionBox::~KCompletionBox()
{
}
......@@ -125,6 +125,7 @@ MOBJECTS = \
$(NULL)
OBJECTS = $(MMOBJECTS) $(MOBJECTS)
EXPORT_OBJECTS = $(OBJECTS)
LIBRARY = libkwq.a
......@@ -175,7 +176,7 @@ DEPFLAGS = $(CMFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(OBJECTS)
......
......@@ -19,6 +19,7 @@ SOURCES = $(wildcard *.cpp)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = lib_kde.a
......@@ -42,7 +43,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -2,3 +2,4 @@
*.a
Makefile
Makefile.dep
export-objects
......@@ -19,6 +19,7 @@ SOURCES = $(wildcard *.cpp)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = lib_qt.a
......@@ -40,7 +41,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -116,6 +116,28 @@
//192
//193
//194
//250
//251
//252
//253
//254
251C98EA017CDDA10ECA149E = {
isa = PBXFileReference;
name = draw.mm;
path = ../draw.mm;
refType = 2;
};
251C98EB017CDDA10ECA149E = {
fileRef = 251C98EA017CDDA10ECA149E;
isa = PBXBuildFile;
settings = {
};
};
//250
//251
//252
//253
//254
//290
//291
//292
......@@ -148,7 +170,7 @@
};
29B97315FDCFA39411CA2CEA = {
children = (
9C05E99F017653320ECA16EA,
251C98EA017CDDA10ECA149E,
);
isa = PBXGroup;
name = "Other Sources";
......@@ -216,9 +238,9 @@
FRAMEWORK_SEARCH_PATHS = "";
HEADER_SEARCH_PATHS = "";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
LIBRARY_SEARCH_PATHS = ../../../../../lib;
OTHER_CFLAGS = "-DHAVE_CONFIG_H -DQT_NO_DATASTREAM -D_KWQ_ -I../../../qt -I../../.. -I../../../../..";
OTHER_LDFLAGS = " -L../../.. -L../../../qt -lkwq -l_qt -lstdc++";
OTHER_LDFLAGS = "-lwebcore";
PRODUCT_NAME = drawApp;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
......@@ -280,7 +302,7 @@
29B9732BFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
9C05E9A0017653320ECA16EA,
251C98EB017CDDA10ECA149E,
);
isa = PBXSourcesBuildPhase;
name = Sources;
......@@ -368,18 +390,6 @@
settings = {
};
};
9C05E99F017653320ECA16EA = {
isa = PBXFileReference;
name = draw.mm;
path = /Volumes/General/users/rjw/src/Labyrinth/WebCore/src/kwq/tests/draw/draw.mm;
refType = 0;
};
9C05E9A0017653320ECA16EA = {
fileRef = 9C05E99F017653320ECA16EA;
isa = PBXBuildFile;
settings = {
};
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}
......@@ -248,9 +248,9 @@
FRAMEWORK_SEARCH_PATHS = /Network/Servers/noether/homes/gandalf/kocienda/symroots;
HEADER_SEARCH_PATHS = "";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
LIBRARY_SEARCH_PATHS = ../../../../../lib;
OTHER_CFLAGS = "-DHAVE_CONFIG_H -DQT_NO_DATASTREAM -D_KWQ_ -I../../../qt -I../../.. -I../../../../.. -I../../../../kdelibs/khtml -I../../../../kwq/kdecore -I../../../../kwq/kde";
OTHER_LDFLAGS = "-L../../../../.. -L../../.. -L../../../kde -L../../../qt -lkde -lkwq -l_kde -l_qt -lstdc++ -lkde -ljpeg";
OTHER_LDFLAGS = "-lwebcore";
PRODUCT_NAME = WebViewTest;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
......
......@@ -62,15 +62,11 @@ CMMFLAGS = $(BASECMMFLAGS)
LIBS = objc-dummy.o \
-framework Cocoa \
-lkwq \
-l_qt \
-lkwq \
-l_qt \
-lwebcore \
$(NULL)
LDFLAGS = $(BASELDFLAGS) \
-L../.. \
-L../../qt \
-L$(TOPSRCDIR)/lib \
$(NULL)
DEPFLAGS = $(CXXFLAGS)
......
......@@ -8,3 +8,4 @@ SunWS_cache
ir.out
testkhtml_static
*.moc
export-objects
......@@ -23,6 +23,7 @@ CXXOBJECTS = \
$(NULL)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtml.a
......@@ -60,7 +61,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -11,3 +11,4 @@ cssvalues.h
cssproperties.c
cssproperties.strip
cssproperties.h
export-objects
......@@ -43,6 +43,7 @@ PROPFILES = \
CFILES = $(VALUEFILES) $(PROPFILES)
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlcss.a
......@@ -78,7 +79,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(CFILES) $(OBJECTS) $(LIBRARY)
all: $(CFILES) $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -2,3 +2,4 @@ Makefile
Makefile.in
*.kde
*.dep
export-objects
......@@ -23,6 +23,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmldom.a
......@@ -56,7 +57,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -5,3 +5,4 @@ Makefile.in
*.dep
*.moc
*.gperf
export-objects
......@@ -20,6 +20,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(filter-out testecma.o,$(CXXOBJECTS))
LIBRARY = libkhtmlecma.a
......@@ -56,7 +57,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) $(LIBRARY) export-objects
$(LIBRARY): $(CXXOBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -3,3 +3,4 @@ Makefile.in
*.dep
*.moc
*.kde
export-objects
......@@ -20,6 +20,7 @@ HEADERS = $(wildcard *.h)
CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmlhtml.a
......@@ -58,7 +59,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory
all: $(OBJECTS) $(LIBRARY)
all: $(OBJECTS) export-objects
$(LIBRARY): $(OBJECTS)
$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
......
......@@ -4,3 +4,4 @@ Makefile.in
*.kde
*.dep
*.moc
export-objects
......@@ -25,6 +25,7 @@ SKIPOBJECTS = javaembed.o
CXXOBJECTS = $(filter-out $(SKIPOBJECTS),$(ALLOBJECTS))
OBJECTS = $(CXXOBJECTS)
EXPORT_OBJECTS = $(CXXOBJECTS)
LIBRARY = libkhtmljava.a
......@@ -55,7 +56,7 @@ DEPFLAGS = $(CXXFLAGS)
#----------------------------------------------------------------------
# Set targets for this directory