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