summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Cleeland <chris.cleeland@gmail.com>2002-08-25 04:27:09 +0000
committerChris Cleeland <chris.cleeland@gmail.com>2002-08-25 04:27:09 +0000
commitf5db345a0399bd329edc7185fb800a64f6200b23 (patch)
tree2ae9e994c5aed2e72720b0d4a091ab9d2189a6e8
parentc04516cb75cc6d171441442d2747b2530670335c (diff)
downloadATCD-f5db345a0399bd329edc7185fb800a64f6200b23.tar.gz
ChangeLogTag:Sat Aug 24 22:47:22 2002 Christopher Kohlhoff <chris@kohlhoff.com>
-rw-r--r--ChangeLog34
-rw-r--r--ChangeLogs/ChangeLog-03a34
-rw-r--r--ace/QoS/qos.mpc11
-rw-r--r--ace/RMCast/rmcast.mpc11
-rw-r--r--ace/SSL/ssl.mpc13
-rw-r--r--ace/ace.mpc3
-rw-r--r--apps/gperf/src/gperf.mpc2
-rw-r--r--bin/MakeProjectCreator/config/core.mpb3
-rw-r--r--bin/MakeProjectCreator/modules/BorlandProjectCreator.pm20
-rw-r--r--bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm57
-rw-r--r--bin/MakeProjectCreator/modules/ProjectCreator.pm2
-rw-r--r--bin/MakeProjectCreator/templates/bor.mpd62
-rw-r--r--include/makeinclude/ace_flags.bor6
-rw-r--r--include/makeinclude/clean.bor2
-rw-r--r--include/makeinclude/compiler.bor10
15 files changed, 209 insertions, 61 deletions
diff --git a/ChangeLog b/ChangeLog
index 7257a6b1300..f764c2ca2fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+Sat Aug 24 22:47:22 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/ace_flags.bor:
+ * include/makeinclude/clean.bor:
+ * include/makeinclude/compiler.bor:
+
+ Updated to support MakeProjectCreator.
+
+ * bin/MakeProjectCreator/config/core.mpb:
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
+ * bin/MakeProjectCreator/templates/bor.mpd:
+
+ Fixed support for Borland makefile generation.
+
+ New "core" config for projects that would typically be installed
+ on production system, i.e. pretty much everything except examples
+ and tests.
+
+ New "include_dir" project attribute used to specify a directory
+ path where header files for the project should be installed.
+
+ * ace/ace.mpc:
+ * ace/QoS/qos.mpc:
+ * ace/RMCast/rmcast.mpc:
+ * ace/SSL/ssl.mpc:
+
+ Added "core" as a base project and added "include_dir" value.
+
+ * apps/gperf/src/gperf.mpc:
+
+ Added "core" as a base project.
+
Sat Aug 24 16:41:36 2002 Krishnakumar B <kitty@cs.wustl.edu>
* ACEXML/common/FileCharStream.cpp (get):
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 7257a6b1300..f764c2ca2fe 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,37 @@
+Sat Aug 24 22:47:22 2002 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/ace_flags.bor:
+ * include/makeinclude/clean.bor:
+ * include/makeinclude/compiler.bor:
+
+ Updated to support MakeProjectCreator.
+
+ * bin/MakeProjectCreator/config/core.mpb:
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
+ * bin/MakeProjectCreator/templates/bor.mpd:
+
+ Fixed support for Borland makefile generation.
+
+ New "core" config for projects that would typically be installed
+ on production system, i.e. pretty much everything except examples
+ and tests.
+
+ New "include_dir" project attribute used to specify a directory
+ path where header files for the project should be installed.
+
+ * ace/ace.mpc:
+ * ace/QoS/qos.mpc:
+ * ace/RMCast/rmcast.mpc:
+ * ace/SSL/ssl.mpc:
+
+ Added "core" as a base project and added "include_dir" value.
+
+ * apps/gperf/src/gperf.mpc:
+
+ Added "core" as a base project.
+
Sat Aug 24 16:41:36 2002 Krishnakumar B <kitty@cs.wustl.edu>
* ACEXML/common/FileCharStream.cpp (get):
diff --git a/ace/QoS/qos.mpc b/ace/QoS/qos.mpc
index 75807cd351d..4725a31a174 100644
--- a/ace/QoS/qos.mpc
+++ b/ace/QoS/qos.mpc
@@ -1,6 +1,7 @@
-project : acelib {
- depends = ace
- sharedname = ACE_QoS
- dllflags = ACE_QoS_BUILD_DLL
- libout = ..
+project : acelib, core {
+ depends = ace
+ sharedname = ACE_QoS
+ dllflags = ACE_QoS_BUILD_DLL
+ libout = ..
+ include_dir = ace/QoS
}
diff --git a/ace/RMCast/rmcast.mpc b/ace/RMCast/rmcast.mpc
index 36e9333517d..70c94e05251 100644
--- a/ace/RMCast/rmcast.mpc
+++ b/ace/RMCast/rmcast.mpc
@@ -1,6 +1,7 @@
-project : acelib {
- depends = ace
- sharedname = ACE_RMCast
- dllflags = ACE_RMCAST_BUILD_DLL
- libout = ..
+project : acelib, core {
+ depends = ace
+ sharedname = ACE_RMCast
+ dllflags = ACE_RMCAST_BUILD_DLL
+ libout = ..
+ include_dir = ace/RMCast
}
diff --git a/ace/SSL/ssl.mpc b/ace/SSL/ssl.mpc
index eacefcfd2d3..a7fc0bd7a86 100644
--- a/ace/SSL/ssl.mpc
+++ b/ace/SSL/ssl.mpc
@@ -1,7 +1,8 @@
-project : acelib {
- ssl = 1
- depends = ace
- sharedname = ACE_SSL
- dllflags = ACE_SSL_BUILD
- libout = ..
+project : acelib, core {
+ ssl = 1
+ depends = ace
+ sharedname = ACE_SSL
+ dllflags = ACE_SSL_BUILD
+ libout = ..
+ include_dir = ace/SSL
}
diff --git a/ace/ace.mpc b/ace/ace.mpc
index 39383b324d1..41ee94f9bb8 100644
--- a/ace/ace.mpc
+++ b/ace/ace.mpc
@@ -1,8 +1,9 @@
-project : acelib {
+project : acelib, core {
sharedname = ACE
install =
defaultlibs =
dllflags = ACE_BUILD_DLL ACE_OS_BUILD_DLL
+ include_dir = ace
Source_Files(ACE_COMPONENTS) {
OS {
diff --git a/apps/gperf/src/gperf.mpc b/apps/gperf/src/gperf.mpc
index 0e6fa6de35b..3e2a94e6311 100644
--- a/apps/gperf/src/gperf.mpc
+++ b/apps/gperf/src/gperf.mpc
@@ -1,4 +1,4 @@
-project(gperf) : aceexe {
+project(gperf) : aceexe, core {
exename = gperf
install = ../../../bin
diff --git a/bin/MakeProjectCreator/config/core.mpb b/bin/MakeProjectCreator/config/core.mpb
new file mode 100644
index 00000000000..01487241d90
--- /dev/null
+++ b/bin/MakeProjectCreator/config/core.mpb
@@ -0,0 +1,3 @@
+project {
+ core = 1
+}
diff --git a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm b/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
index 420203f7972..58c11239b3e 100644
--- a/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
@@ -13,6 +13,7 @@ package BorlandProjectCreator;
use strict;
use ProjectCreator;
+use File::Basename;
use vars qw(@ISA);
@ISA = qw(ProjectCreator);
@@ -38,6 +39,25 @@ sub translate_value {
}
+sub fill_value {
+ my($self) = shift;
+ my($name) = shift;
+ my($value) = undef;
+
+ if ($name eq "cppdir") {
+ my %dirnames;
+ foreach my $file ($self->get_component_list("source_files")) {
+ my $dirname = dirname($file);
+ $dirname = "." if $dirname eq "";
+ $dirnames{$dirname} = 1;
+ }
+ $value = join(";", sort keys %dirnames);
+ }
+
+ return $value;
+}
+
+
sub project_file_name {
my($self) = shift;
my($name) = shift;
diff --git a/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
index e20e08de73e..84a9033f748 100644
--- a/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
@@ -49,32 +49,41 @@ sub write_comps {
my(@list) = $self->sort_dependencies($projects, $pjs);
my($crlf) = $self->crlf();
- print $fh "!include <\$(ACE_ROOT)\include\makeinclude\make_flags.bor>" .
- "$crlf$crlf" .
- "all:$crlf";
- foreach my $project (@list) {
- my($dir) = dirname($project);
- my($chdir) = 0;
- my($back) = 1;
-
- ## If the directory isn't "." then we need
- ## to figure out how to get back to our starting point
- if ($dir ne ".") {
- $chdir = 1;
- my($length) = length($dir);
- for(my $i = 0; $i < $length; $i++) {
- if (substr($dir, $i, 1) eq "/") {
- $back++;
+ print $fh "!include <\$(ACE_ROOT)\\include\\makeinclude\\make_flags.bor>$crlf";
+
+ foreach my $target ("all", "clean", "realclean", "install") {
+ print $fh "$crlf" .
+ "$target\:$crlf";
+ foreach my $project (@list) {
+ my($dir) = dirname($project);
+ my($chdir) = 0;
+ my($back) = 1;
+
+ ## If the directory isn't "." then we need
+ ## to figure out how to get back to our starting point
+ if ($dir ne ".") {
+ $chdir = 1;
+ my($length) = length($dir);
+ for(my $i = 0; $i < $length; $i++) {
+ if (substr($dir, $i, 1) eq "/") {
+ $back++;
+ }
}
- }
- }
-
- ## These commands will work. In practicality, only the
- ## default configuration can be built at the top level.
- print $fh ($chdir ? "\t\@cd $dir$crlf" : "") .
- "\t\$(MAKE) -\$(MAKEFLAGS) \$(MAKE_FLAGS) -f " . basename($project) . $crlf .
- ($chdir ? "\t\@cd " . ("../" x $back) . $crlf : "");
+ }
+
+ ## These commands will work. In practicality, only the
+ ## default configuration can be built at the top level.
+ print $fh ($chdir ? "\t\@cd $dir$crlf" : "") .
+ "\t\$(MAKE) -\$(MAKEFLAGS) \$(MAKE_FLAGS) -f " . basename($project) . " $target$crlf" .
+ ($chdir ? "\t\@cd " . ("../" x $back) . $crlf : "");
+ }
}
+
+ # Generate a convenient rule for regenerating the workspace.
+ my($cmd) = "perl " . $0 . " " . join(" ", @ARGV);
+ print $fh "$crlf" .
+ "regenerate:$crlf" .
+ "\t$cmd$crlf";
}
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm
index 3aa3e294cb6..f66b5c04eea 100644
--- a/bin/MakeProjectCreator/modules/ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm
@@ -58,6 +58,8 @@ my(%validNames) = ('exename' => 1,
'comps' => 1,
'tagname' => 1,
'tagchecks' => 1,
+ 'include_dir' => 1,
+ 'core' => 1,
);
## Deal with these components in a special way
diff --git a/bin/MakeProjectCreator/templates/bor.mpd b/bin/MakeProjectCreator/templates/bor.mpd
index 4da186b39a6..7b8b5250429 100644
--- a/bin/MakeProjectCreator/templates/bor.mpd
+++ b/bin/MakeProjectCreator/templates/bor.mpd
@@ -1,28 +1,36 @@
# Makefile for building the <%if(exename)%><%exename%> exe<%endif%><%if(sharedname)%><%sharedname%> library<%endif%> with Borland C++ Builder
+<%if(ssl)%>
+!ifdef SSL_ROOT
+<%endif%>
NAME = <%if(exename)%><%exename%><%endif%><%if(sharedname)%><%sharedname%><%endif%>
-
+<%if(ssl)%>
+!endif
+<%endif%>
<%if(idl_files)%>
+
TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe<%if(idlflags)%> <%idlflags%><%endif%>
<%endif%>
<%if(source_files)%>
OBJFILES = \
<%foreach(source_files)%>
- $(OBJDIR)\<%noextension(source_file)%>.obj<%fornotlast(" \\")%>
+ $(OBJDIR)\<%basenoextension(source_file)%>.obj<%fornotlast(" \\")%>
<%endfor%>
<%endif%>
<%if(ssl)%>
-SSL_LIBS =<%foreach(ssl_libs)%> <%ssl_lib%>.lib<%endfor%>
+EXTERNAL_LIBS =<%foreach(ssl_libs)%> <%ssl_lib%>.lib<%endfor%>
<%else%>
-SSL_LIBS =
+
+EXTERNAL_LIBS =
<%endif%>
-LIBFILES = $(SSL_LIBS) \
+LIBFILES = \
<%foreach(libs defaultlibs)%>
- $(CORE_BINDIR)\<%lib%>.lib<%fornotlast(" \\")%>
+ $(CORE_BINDIR)\<%lib%>$(LIB_DECORATOR).lib \
<%endfor%>
+ $(EXTERNAL_LIBS)
<%if(idl_files)%>
IDLFILES = \
@@ -43,30 +51,58 @@ LIB_FLAGS =
DLL_FLAGS =<%foreach(dllflags)%> -D<%dllflag%>=1<%endfor%>
!endif
-CFLAGS =<%foreach(includes)%> -I<%include%><%endfor%> $(DLL_FLAGS) $(LIB_FLAGS)
-CPPDIR = .
-INCDIR_NAME = .
+CFLAGS = \
+<%foreach(includes)%>
+ -I<%include%> \
+<%endfor%>
+ $(LIB_FLAGS) \
+ $(DLL_FLAGS)
+<%if(pch_header)%>
+
+PCH_HEADER=<%pch_header%>
+<%endif%>
+
+CPPDIR = <%cppdir%>
<%if(idl_files)%>
+
IDLDIR = .
<%endif%>
<%if(header_files)%>
INCLUDES = \
-<%foreach(header_files template_files)%>
- <%header_file%><%fornotlast(" \\")%>
+<%foreach(header_files template_files inline_files idl_files)%>
+ <%header_file%><%fornotlast(" \\")%>
<%endfor%>
+<%if(include_dir)%>
+
+INCDIR_NAME = <%include_dir%>
+<%endif%>
+<%endif%>
+<%if(idl_files)%>
+
+all: idl_src_files
<%endif%>
<%if(exename)%>
+<%if(core)%>
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_exe.bor>
+<%else%>
<%if(install)%>
-INSTALL_THIS_TARGET = 1
+BASE_BINDIR = <%install%>
<%endif%>
!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
<%endif%>
+<%endif%>
<%if(sharedname)%>
+<%if(core)%>
!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
+<%else%>
+
+!include <$(ACE_ROOT)\include\makeinclude\build_library.bor>
+<%endif%>
<%endif%>
<%if(idl_files)%>
@@ -74,6 +110,8 @@ INSTALL_THIS_TARGET = 1
# IDL Build rules
#
+idl_src_files: $(IDLFILES:.idl=C.cpp) $(IDLFILES:.idl=S.cpp)
+
<%foreach(idl_files)%>
$(IDLDIR)\<%noextension(idl_file)%>S.cpp $(IDLDIR)\<%noextension(idl_file)%>C.cpp: $(IDLDIR)\<%noextension(idl_file)%>.idl
$(TAO_IDL) $**
diff --git a/include/makeinclude/ace_flags.bor b/include/makeinclude/ace_flags.bor
index 46e76d8c78c..7114ac7cbfb 100644
--- a/include/makeinclude/ace_flags.bor
+++ b/include/makeinclude/ace_flags.bor
@@ -14,14 +14,10 @@ DLL_NAME=dll
#
# Compiler flags
#
-!ifdef DEBUG
-ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG) -DACE_NO_INLINE=1
-!else
-ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG)
-!endif
!ifdef SSL_ROOT
SSL_CFLAGS = -I$(SSL_ROOT)\inc32 -DACE_HAS_SSL=1
!endif
+ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG)
ACE_XML_CFLAGS = -I$(ACE_ROOT) -DACEXML_HAS_DLL=$(DLL_FLAG)
ACE_XML_PARSER_CFLAGS = -I$(ACE_ROOT) -DACEXML_PARSER_HAS_DLL=$(DLL_FLAG)
ACE_SSL_CFLAGS = -I$(ACE_ROOT) -DACE_SSL_HAS_DLL=$(DLL_FLAG)
diff --git a/include/makeinclude/clean.bor b/include/makeinclude/clean.bor
index 7e2dd6162fd..c814f4a6b8b 100644
--- a/include/makeinclude/clean.bor
+++ b/include/makeinclude/clean.bor
@@ -57,6 +57,8 @@ realclean:
-@del $(TARGET:.exe=.tds) 2>NUL
-@del $(TARGET:.dll=.tds) 2>NUL
-@del $(TARGET:.dll=.lib) 2>NUL
+ -@del $(OBJDIR)\$(NAME).csm 2>NUL
+ -@del $(OBJDIR)\$(NAME).\#* 2>NUL
!ifdef CORE_TARGET
-@del $(CORE_TARGET) 2>NUL
-@del $(CORE_TARGET:.exe=.tds) 2>NUL
diff --git a/include/makeinclude/compiler.bor b/include/makeinclude/compiler.bor
index 24d3f7a08cf..a19075be82f 100644
--- a/include/makeinclude/compiler.bor
+++ b/include/makeinclude/compiler.bor
@@ -45,7 +45,7 @@ RC = brcc32
#
!ifdef DEBUG
-DEBUG_CFLAGS = -v -y -Od -r- -vi- -k -D_DEBUG
+DEBUG_CFLAGS = -v -y -Od -r- -vi- -k -D_DEBUG -DACE_NO_INLINE=1
DEBUG_LFLAGS = -v
!else
DEBUG_CFLAGS = -O2 -DNDEBUG
@@ -68,15 +68,21 @@ CODEGUARD_CFLAGS = -vG
UNICODE_CFLAGS = -DACE_USES_WCHAR -WU
!endif
+!ifdef PCH_HEADER
+PCH_CFLAGS = -H=$(OBJDIR)\$(NAME).csm -Hh=$(PCH_HEADER)
+!endif
+
THREAD_CFLAGS = -D_MT -tWM
WARNINGS_CFLAGS = -w-rvl -w-rch -w-ccc -w-obs -w-aus -w-pia -w-inl
DEFINES_CFLAGS = -DWIN32;_NO_VCL
QUIET_CFLAGS = -q
MISC_CFLAGS = -a8 -b
+DECORATOR_CFLAGS = -DACE_LD_DECORATOR_STR=ACE_LIB_TEXT(\"$(LIB_DECORATOR)\")
COMMON_CFLAGS = $(QUIET_CFLAGS) $(DEBUG_CFLAGS) $(THREAD_CFLAGS) \
$(STATIC_CFLAGS) $(WARNINGS_CFLAGS) $(DEFINES_CFLAGS) \
- $(MISC_CFLAGS) $(CODEGUARD_CFLAGS) $(UNICODE_CFLAGS)
+ $(MISC_CFLAGS) $(CODEGUARD_CFLAGS) $(UNICODE_CFLAGS) \
+ $(DECORATOR_CFLAGS) $(PCH_CFLAGS)
COMMON_LFLAGS = $(DEBUG_LFLAGS) $(STATIC_LFLAGS) -x -w-dup -Gn