summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2011-03-13 17:32:00 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2011-03-13 17:32:00 +0000
commitc615507e150592895980608d00601beed16d28b9 (patch)
treec88b1485744a22bed0a04b0696ed2c2f2e084d72
parent04c43fbfba86e71270319cd5554ee459da87ec31 (diff)
downloadnetsurf-c615507e150592895980608d00601beed16d28b9.tar.gz
Set version using testament.h instead of old ARexx script
svn path=/trunk/netsurf/; revision=12028
-rw-r--r--Makefile22
-rwxr-xr-xamiga/arexx.c21
-rw-r--r--amiga/version.c26
-rw-r--r--amiga/version.rexx55
-rwxr-xr-xutils/svn-testament.pl6
5 files changed, 43 insertions, 87 deletions
diff --git a/Makefile b/Makefile
index ac7b56090..af2d8187a 100644
--- a/Makefile
+++ b/Makefile
@@ -422,28 +422,6 @@ $(RSRC_BEOS): $(RDEF_BEOS) $(RDEP_BEOS)
$(Q)$(BEOS_RC) -o $@ $<
endif
-ifeq ($(findstring amiga,$(TARGET)),amiga)
-clean-amiga-version:
- $(VQ)echo " CLEAN: amiga/version.c"
- $(Q)$(RM) amiga/version.c
-CLEANS += clean-amiga-version
-
-ifeq ($(HOST),amiga)
-amiga/version.c: amiga/version.rexx
- $(VQ)echo " AREXX: amiga/version.rexx"
- $(Q)rx amiga/version.rexx >amiga/version.c
-else
-amiga/version.c:
- $(Q)echo '/* This file was automatically generated by version.rexx */' >amiga.version.c
- $(Q)echo 'static const __attribute__((used)) char *verstag = "\\0$$VER: NetSurf 3.1415(1234)\\0";' >>amiga/version.c
- $(Q)echo 'const char * const versvn = "SVN1415";' >>amiga/version.c
- $(Q)echo 'const char * const verdate = "1234";' >>amiga/version.c
- $(Q)echo 'const char * const verarexx = "3.1415";' >>amiga/version.c
- $(Q)echo 'const int verver = 3;' >>amiga/version.c
- $(Q)echo 'const int verrev = 1234;' >>amiga/version.c
-endif
-endif
-
ifeq ($(TARGET),riscos)
# Native RO build is different as 1) it can't do piping and 2) ccres on
# RO does not understand Unix filespec
diff --git a/amiga/arexx.c b/amiga/arexx.c
index f8afbde32..d5ccce493 100755
--- a/amiga/arexx.c
+++ b/amiga/arexx.c
@@ -18,24 +18,25 @@
#include "amiga/os3support.h"
-#include "arexx.h"
-#include <reaction/reaction_macros.h>
-#include <string.h>
-#include <proto/intuition.h>
+#include "amiga/arexx.h"
#include "desktop/browser.h"
#include "desktop/history_core.h"
#include "amiga/gui.h"
-#include <proto/dos.h>
-#include <proto/exec.h>
#include "amiga/download.h"
#include "amiga/options.h"
+#include "utils/testament.h"
+
+#include <string.h>
+#include <math.h>
+#include <proto/intuition.h>
+#include <proto/dos.h>
+#include <proto/exec.h>
#include <proto/clicktab.h>
#include <gadgets/clicktab.h>
+#include <reaction/reaction_macros.h>
const char * const verarexx;
-const int verver;
-const int verrev;
const char * const netsurf_version;
const int netsurf_version_major;
const int netsurf_version_minor;
@@ -376,7 +377,7 @@ STATIC VOID rx_version(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((
{
if(cmd->ac_ArgList[1])
{
- if((verver > *(ULONG *)cmd->ac_ArgList[0]) || ((verrev >= *(ULONG *)cmd->ac_ArgList[1]) && (verver == *(ULONG *)cmd->ac_ArgList[0])))
+ if((netsurf_version_major > *(ULONG *)cmd->ac_ArgList[0]) || ((atoi(WT_REVID) >= *(ULONG *)cmd->ac_ArgList[1]) && (netsurf_version_major == *(ULONG *)cmd->ac_ArgList[0])))
{
strcpy(result,"1");
}
@@ -387,7 +388,7 @@ STATIC VOID rx_version(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((
}
else if(cmd->ac_ArgList[0])
{
- if((verver >= *(ULONG *)cmd->ac_ArgList[0]))
+ if((netsurf_version_major >= *(ULONG *)cmd->ac_ArgList[0]))
{
strcpy(result,"1");
}
diff --git a/amiga/version.c b/amiga/version.c
new file mode 100644
index 000000000..b2e01a1f0
--- /dev/null
+++ b/amiga/version.c
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2011 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "utils/testament.h"
+
+#define NETSURF_VERSION_MAJOR "3"
+
+static const __attribute__((used)) char *verstag = "\0$VER: NetSurf " NETSURF_VERSION_MAJOR "." WT_REVID " (" WT_COMPILEDATE ")\0";
+const char * const versvn = "SVN " WT_REVID;
+const char * const verdate = WT_COMPILEDATE;
+const char * const verarexx = NETSURF_VERSION_MAJOR "." WT_REVID;
diff --git a/amiga/version.rexx b/amiga/version.rexx
deleted file mode 100644
index f5e085031..000000000
--- a/amiga/version.rexx
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* This file generates an AmigaOS compliant version string in version.c */
-
-address command 'svn info >t:ns_svn'
-
-if open('tmp','t:ns_svn','R') then do
- do until word(var,1) = "REVISION:"
- var = upper(readln('tmp'))
- end
- dummy = close('tmp')
- address command 'delete t:ns_svn'
-end
-
-svnrev = word(var,2)
-
-if open('tmp','desktop/version.c','R') then do
- do until word(var,3) = "NETSURF_VERSION_MAJOR"
- var = upper(readln('tmp'))
- end
- dummy = close('tmp')
-end
-
-majorver = compress(word(var,5),";")
-
-/* ARexx only returns two digits for year, but AmigaOS version string dates are
- * supposed to have four digits for the year, so the below specifies the prefix
- * (century-1 really). This will need to be increased in 2100 and every hundred
- * years thereafter, if this script is still in use :-) */
-century = 20
-date = translate(left(date('E'),6) || century || right(date('E'),2),'.','/')
-
-say '/* This file was automatically generated by version.rexx */'
-say 'static const __attribute__((used)) char *verstag = "\0$VER: NetSurf' majorver || '.' || svnrev '(' || date || ')\0";'
-say 'const char * const versvn = "SVN' svnrev || '";'
-say 'const char * const verdate = "' || date || '";'
-say 'const char * const verarexx = "' || majorver || '.' || svnrev || '";'
-say 'const int verver =' majorver || ';'
-say 'const int verrev =' svnrev || ';'
diff --git a/utils/svn-testament.pl b/utils/svn-testament.pl
index 30240e927..e0f678b66 100755
--- a/utils/svn-testament.pl
+++ b/utils/svn-testament.pl
@@ -60,6 +60,11 @@ my %userinfo; # The information about the current user
$userinfo{GECOS} = $gecos;
}
+# The current date, in AmigaOS version friendly format (dd.mm.yyyy)
+
+my $compiledate = `date +%d.%m.%Y`;
+chomp $compiledate;
+
# Spew the testament out
my $testament = "";
@@ -77,6 +82,7 @@ $hostname =~ s/"/\\"/g;
$testament .= "#define WT_ROOT \"$qroot\"\n";
$testament .= "#define WT_HOSTNAME \"$hostname\"\n";
+$testament .= "#define WT_COMPILEDATE \"$compiledate\"\n";
my $url = $svninfo{url};
# This only works on 1.3.x and above