support_cpp_scripts
author Michael Goffioul <michael.goffioul@gmail.com>
Thu Oct 30 11:35:04 2008 +0000 (16 months ago)
changeset 52 835983eae74b
permissions -rw-r--r--
Synchronize with octave archive.
     1 Add Makefile/configure support for C++ version of mkoctfile, octave-config and octave-bug
     2 
     3 diff -r 229bd50e6e8f ChangeLog
     4 --- a/ChangeLog	Tue Sep 09 18:56:51 2008 -0400
     5 +++ b/ChangeLog	Wed Sep 10 13:00:54 2008 +0200
     6 @@ -1,3 +1,20 @@
     7 +2008-09-10  Michael Goffioul <michael.goffioul@gmail.com>
     8 +
     9 +	* configure.in (SCRIPTS_EXE_SUFFIX): New substituted
    10 +	variable. Define to ".exe" for MSVC compilation.
    11 +	* octMakefile.in (SCRIPTS_EXE_SUFFIX): New variable.
    12 +	(DISTFILES): Add mkoctfile.cc.in, octave-config.cc.in and
    13 +	octave-bug.cc.in.
    14 +	(SHELL_SCRIPTS): Use SCRIPTS_EXE_SUFFIX.
    15 +	(mkoctfile.cc, mkoctfile$(EXEEXT)): New build rules.
    16 +	(octave-config.cc, octave-config$(EXEEXT)): Likewise.
    17 +	(octave-bug.cc, octave-bug$(EXEEXT)): Likewise.
    18 +	(install, install-strip, uninstall): Use SCRIPTS_EXE_SUFFIX.
    19 +	(maintainer-clean, distclean): Remove mkoctfile.[cc|o|exe],
    20 +	octave-config.[cc|o|exe] and octave-bug.[cc|o|exe].
    21 +	(clean): Remove mkoctfile$(EXEEXT), octave-config$(EXEEXT),
    22 +	octave-bug$(EXEEXT) and the corresponding object files.
    23 +
    24  2008-09-08  John W. Eaton  <jwe@octave.org>
    25  
    26  	* mkoctfile.cc.in, octave-bug.cc.in, octave-config.cc.in: Style fixes.
    27 diff -r 229bd50e6e8f configure.in
    28 --- a/configure.in	Tue Sep 09 18:56:51 2008 -0400
    29 +++ b/configure.in	Wed Sep 10 13:00:54 2008 +0200
    30 @@ -1115,6 +1115,7 @@
    31  OCTINTERP_DLL_DEFS=
    32  OCTGRAPHICS_DLL_DEFS=
    33  library_path_var=LD_LIBRARY_PATH
    34 +SCRIPTS_EXE_SUFFIX=
    35  case "$canonical_host_type" in
    36    *-*-386bsd* | *-*-netbsd*)
    37      SH_LD=ld
    38 @@ -1188,6 +1189,7 @@
    39      OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
    40      OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL"
    41      OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
    42 +    SCRIPTS_EXE_SUFFIX='$(EXEEXT)'
    43    ;;
    44    *-*-linux* | *-*-gnu*)
    45      MKOCTFILE_DL_LDFLAGS="-shared -Wl,-Bsymbolic"
    46 @@ -1319,6 +1321,7 @@
    47  AC_SUBST(OCTINTERP_DLL_DEFS)
    48  AC_SUBST(OCTGRAPHICS_DLL_DEFS)
    49  AC_SUBST(library_path_var)
    50 +AC_SUBST(SCRIPTS_EXE_SUFFIX)
    51  
    52  ### special checks for odd OS specific things.
    53  ###
    54 diff -r 229bd50e6e8f octMakefile.in
    55 --- a/octMakefile.in	Tue Sep 09 18:56:51 2008 -0400
    56 +++ b/octMakefile.in	Wed Sep 10 13:00:54 2008 +0200
    57 @@ -26,6 +26,8 @@
    58  abs_top_srcdir = @abs_top_srcdir@
    59  VPATH = @srcdir@
    60  
    61 +SCRIPTS_EXE_SUFFIX = @SCRIPTS_EXE_SUFFIX@
    62 +
    63  include $(TOPDIR)/Makeconf
    64  
    65  INSTALL = @INSTALL@
    66 @@ -46,9 +48,9 @@
    67  	COPYING INSTALL NEWS \
    68  	NEWS.[0-9] PROJECTS README README.Linux README.Windows \
    69  	README.Cygwin README.MSVC README.kpathsea ROADMAP SENDING-PATCHES \
    70 -	THANKS move-if-change octave-sh octave-bug.in \
    71 -	octave-config.in missing mk-opts.pl mkinstalldirs \
    72 -	mkoctfile.in run-octave.in ChangeLog ChangeLog.[0-9]
    73 +	THANKS move-if-change octave-sh octave-bug.cc.in octave-bug.in \
    74 +	octave-config.in octave-config.cc.in missing mk-opts.pl mkinstalldirs \
    75 +	mkoctfile.in mkoctfile.cc.in run-octave.in ChangeLog ChangeLog.[0-9]
    76  
    77  # Subdirectories in which to run `make all'.
    78  SUBDIRS = libcruft liboctave src scripts doc examples
    79 @@ -71,7 +73,8 @@
    80    $(localapioctfiledir) $(localveroctfiledir) $(imagedir) $(archlibdir) \
    81    $(localarchlibdir) $(localapiarchlibdir) $(localverarchlibdir)
    82  
    83 -SHELL_SCRIPTS = octave-bug octave-config mkoctfile run-octave
    84 +SHELL_SCRIPTS = octave-bug$(SCRIPTS_EXE_SUFFIX) octave-config$(SCRIPTS_EXE_SUFFIX) \
    85 +		mkoctfile$(SCRIPTS_EXE_SUFFIX)  run-octave
    86  
    87  all: $(SHELL_SCRIPTS) $(filter-out libcruft liboctave, $(SUBDIRS)) dist-info-files
    88  	@echo ""
    89 @@ -95,13 +98,40 @@
    90  	@$(do-subst-config-vals)
    91  	chmod a+rx $@
    92  
    93 +octave-bug.cc: octave-bug.cc.in Makeconf octMakefile
    94 +	@$(do-subst-config-vals)
    95 +
    96 +ifneq ($(EXEEXT),)
    97 +octave-bug$(EXEEXT): octave-bug.o
    98 +	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
    99 +	    $(ALL_LDFLAGS) -o $@ octave-bug.o
   100 +endif
   101 +
   102  octave-config: octave-config.in Makeconf octMakefile $(top_srcdir)/src/version.h
   103  	@$(do-subst-default-vals)
   104  	chmod a+rx $@
   105  
   106 +octave-config.cc: octave-config.cc.in Makeconf octMakefile
   107 +	@$(do-subst-default-vals)
   108 +
   109 +ifneq ($(EXEEXT),)
   110 +octave-config$(EXEEXT): octave-config.o
   111 +	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
   112 +	    $(ALL_LDFLAGS) -o $@ octave-config.o
   113 +endif
   114 +
   115  mkoctfile: mkoctfile.in Makeconf octMakefile $(top_srcdir)/src/version.h
   116  	@$(do-subst-config-vals)
   117  	chmod a+rx $@
   118 +
   119 +mkoctfile.cc: mkoctfile.cc.in Makeconf octMakefile
   120 +	@$(do-subst-config-vals)
   121 +
   122 +ifneq ($(EXEEXT),)
   123 +mkoctfile$(EXEEXT): mkoctfile.o
   124 +	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
   125 +	    $(ALL_LDFLAGS) -o $@ mkoctfile.o
   126 +endif
   127  
   128  run-octave: run-octave.in Makeconf octMakefile
   129  	@$(do-subst-script-vals)
   130 @@ -122,25 +152,29 @@
   131  install install-strip ::
   132  	$(top_srcdir)/mkinstalldirs $(addprefix $(DESTDIR), $(DIRS_TO_MAKE))
   133  	rm -f $(DESTDIR)$(bindir)/octave-bug
   134 -	$(INSTALL_SCRIPT) octave-bug $(DESTDIR)$(bindir)/octave-bug-$(version)
   135 -	(cd $(DESTDIR)$(bindir); $(LN_S) octave-bug-$(version) $(DESTDIR)$(bindir)/octave-bug)
   136 -	rm -f $(DESTDIR)$(bindir)/octave-config
   137 +	$(INSTALL_SCRIPT) octave-bug$(SCRIPTS_EXE_SUFFIX) \
   138 +	    $(DESTDIR)$(bindir)/octave-bug-$(version)$(SCRIPTS_EXE_SUFFIX)
   139 +	(cd $(DESTDIR)$(bindir); $(LN_S) octave-bug-$(version)$(SCRIPTS_EXE_SUFFIX) \
   140 +	    $(DESTDIR)$(bindir)/octave-bug$(SCRIPTS_EXE_SUFFIX))
   141 +	rm -f $(DESTDIR)$(bindir)/octave-config$(SCRIPTS_EXE_SUFFIX)
   142  	$(INSTALL_SCRIPT) \
   143 -	  octave-config $(DESTDIR)$(bindir)/octave-config-$(version)
   144 -	(cd $(DESTDIR)$(bindir); $(LN_S) octave-config-$(version) $(DESTDIR)$(bindir)/octave-config)
   145 -	rm -f $(DESTDIR)$(bindir)/mkoctfile
   146 -	$(INSTALL_SCRIPT) mkoctfile $(DESTDIR)$(bindir)/mkoctfile-$(version)
   147 -	(cd $(DESTDIR)$(bindir); $(LN_S) mkoctfile-$(version) $(DESTDIR)$(bindir)/mkoctfile)
   148 +	  octave-config$(SCRIPTS_EXE_SUFFIX)  $(DESTDIR)$(bindir)/octave-config-$(version)$(SCRIPTS_EXE_SUFFIX)
   149 +	(cd $(DESTDIR)$(bindir); $(LN_S) octave-config-$(version)$(SCRIPTS_EXE_SUFFIX) \
   150 +	    $(DESTDIR)$(bindir)/octave-config$(SCRIPTS_EXE_SUFFIX))
   151 +	rm -f $(DESTDIR)$(bindir)/mkoctfile$(SCRIPTS_EXE_SUFFIX)
   152 +	$(INSTALL_SCRIPT) mkoctfile$(SCRIPTS_EXE_SUFFIX) $(DESTDIR)$(bindir)/mkoctfile-$(version)$(SCRIPTS_EXE_SUFFIX)
   153 +	(cd $(DESTDIR)$(bindir); $(LN_S) mkoctfile-$(version)$(SCRIPTS_EXE_SUFFIX) \
   154 +	    $(DESTDIR)$(bindir)/mkoctfile$(SCRIPTS_EXE_SUFFIX))
   155  	$(INSTALL_DATA) config.h $(DESTDIR)$(octincludedir)/octave/config.h
   156  	$(INSTALL_DATA) $(srcdir)/NEWS $(DESTDIR)$(datadir)/octave/$(version)/NEWS
   157  
   158  uninstall::
   159 -	rm -f $(DESTDIR)$(bindir)/octave-bug
   160 -	rm -f $(DESTDIR)$(bindir)/octave-bug-$(version)
   161 -	rm -f $(DESTDIR)$(bindir)/octave-config
   162 -	rm -f $(DESTDIR)$(bindir)/octave-config-$(version)
   163 -	rm -f $(DESTDIR)$(bindir)/mkoctfile
   164 -	rm -f $(DESTDIR)$(bindir)/mkoctfile-$(version)
   165 +	rm -f $(DESTDIR)$(bindir)/octave-bug$(SCRIPTS_EXE_SUFFIX)
   166 +	rm -f $(DESTDIR)$(bindir)/octave-bug-$(version)$(SCRIPTS_EXE_SUFFIX)
   167 +	rm -f $(DESTDIR)$(bindir)/octave-config$(SCRIPTS_EXE_SUFFIX)
   168 +	rm -f $(DESTDIR)$(bindir)/octave-config-$(version)$(SCRIPTS_EXE_SUFFIX)
   169 +	rm -f $(DESTDIR)$(bindir)/mkoctfile$(SCRIPTS_EXE_SUFFIX)
   170 +	rm -f $(DESTDIR)$(bindir)/mkoctfile-$(version)$(SCRIPTS_EXE_SUFFIX)
   171  	rm -f $(DESTDIR)$(octincludedir)/octave/config.h
   172  	rm -f $(DESTDIR)$(datadir)/octave/$(version)/NEWS
   173  
   174 @@ -167,10 +201,15 @@
   175  	rm -f config.cache config.h config.log config.status
   176  	rm -rf autom4te.cache
   177  	rm -f $(SHELL_SCRIPTS)
   178 +	rm -f mkoctfile.cc octave-config.cc octave-bug.cc
   179  	rm -f unistd.h
   180  
   181  maintainer-clean::
   182  	rm -f configure config.h.in BUGS INSTALL.OCTAVE
   183 +
   184 +maintainer-clean distclean clean::
   185 +	rm -f mkoctfile$(EXEEXT) octave-config$(EXEEXT) octave-bug$(EXEEXT)
   186 +	rm -f mkoctfile.o octave-config.o octave-bug.o
   187  
   188  # Rules for making a source distribution.
   189