diff options
author | Chris Cleeland <chris.cleeland@gmail.com> | 2002-08-25 04:27:09 +0000 |
---|---|---|
committer | Chris Cleeland <chris.cleeland@gmail.com> | 2002-08-25 04:27:09 +0000 |
commit | f5db345a0399bd329edc7185fb800a64f6200b23 (patch) | |
tree | 2ae9e994c5aed2e72720b0d4a091ab9d2189a6e8 | |
parent | c04516cb75cc6d171441442d2747b2530670335c (diff) | |
download | ATCD-f5db345a0399bd329edc7185fb800a64f6200b23.tar.gz |
ChangeLogTag:Sat Aug 24 22:47:22 2002 Christopher Kohlhoff <chris@kohlhoff.com>
-rw-r--r-- | ChangeLog | 34 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 34 | ||||
-rw-r--r-- | ace/QoS/qos.mpc | 11 | ||||
-rw-r--r-- | ace/RMCast/rmcast.mpc | 11 | ||||
-rw-r--r-- | ace/SSL/ssl.mpc | 13 | ||||
-rw-r--r-- | ace/ace.mpc | 3 | ||||
-rw-r--r-- | apps/gperf/src/gperf.mpc | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/core.mpb | 3 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/BorlandProjectCreator.pm | 20 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm | 57 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/bor.mpd | 62 | ||||
-rw-r--r-- | include/makeinclude/ace_flags.bor | 6 | ||||
-rw-r--r-- | include/makeinclude/clean.bor | 2 | ||||
-rw-r--r-- | include/makeinclude/compiler.bor | 10 |
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 |