summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/main.c2
-rw-r--r--apps/menus/main_menu.c4
-rw-r--r--apps/misc.c4
-rw-r--r--apps/plugin.c2
-rw-r--r--apps/plugin.h2
-rw-r--r--apps/plugins/battery_bench.c4
-rw-r--r--apps/plugins/iriver_flash.c2
-rw-r--r--apps/plugins/settings_dumper.c2
-rw-r--r--apps/settings.c2
-rw-r--r--apps/version.h26
-rw-r--r--bootloader/Makefile8
-rw-r--r--bootloader/creativezvm.c3
-rw-r--r--bootloader/gigabeat-s.c4
-rw-r--r--bootloader/gigabeat.c5
-rw-r--r--bootloader/iaudio_coldfire.c6
-rw-r--r--bootloader/ipod.c6
-rw-r--r--bootloader/ipodnano2g.c6
-rw-r--r--bootloader/iriver_h1x0.c7
-rw-r--r--bootloader/iriver_h300.c5
-rw-r--r--bootloader/main-e200r-installer.c6
-rw-r--r--bootloader/main-pp.c6
-rw-r--r--bootloader/meizu_m3.c1
-rw-r--r--bootloader/meizu_m6sl.c1
-rw-r--r--bootloader/meizu_m6sp.c1
-rw-r--r--bootloader/mini2440.c3
-rw-r--r--bootloader/mpio_hd200.c5
-rw-r--r--bootloader/mrobe500.c3
-rw-r--r--bootloader/ondavx747.c3
-rw-r--r--bootloader/samsung_yps3.c1
-rw-r--r--bootloader/show_logo.c5
-rw-r--r--bootloader/telechips.c5
-rw-r--r--bootloader/tpj1022.c2
-rw-r--r--docs/PLUGIN_API.new2
-rw-r--r--firmware/firmware.make5
-rw-r--r--flash/bootbox/Makefile2
-rw-r--r--gdb/Makefile2
-rwxr-xr-xtools/configure1
-rwxr-xr-xtools/genversion.sh42
-rw-r--r--tools/root.make3
-rw-r--r--uisimulator/common/Makefile2
40 files changed, 99 insertions, 102 deletions
diff --git a/apps/main.c b/apps/main.c
index e4b9286b4e..e8043a79d4 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -120,8 +120,6 @@
/*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */
-const char appsversion[]=APPSVERSION;
-
static void init(void);
#ifdef HAVE_SDL
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index 59a72e1ad7..76ceaa483e 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -172,7 +172,7 @@ static const char* info_getname(int selected_item, void *data,
{
case INFO_VERSION:
snprintf(buffer, buffer_len, "%s: %s",
- str(LANG_VERSION), appsversion);
+ str(LANG_VERSION), rbversion);
break;
case INFO_BUFFER: /* buffer */
@@ -259,7 +259,7 @@ static int info_speak_item(int selected_item, void * data)
{
case INFO_VERSION: /* version */
talk_id(LANG_VERSION, false);
- talk_spell(appsversion, true);
+ talk_spell(rbversion, true);
break;
case INFO_BUFFER: /* buffer */
diff --git a/apps/misc.c b/apps/misc.c
index 95c0dd6e34..747abe076b 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -621,7 +621,7 @@ int show_logo( void )
char version[32];
int font_h, font_w;
- snprintf(version, sizeof(version), "Ver. %s", appsversion);
+ snprintf(version, sizeof(version), "Ver. %s", rbversion);
lcd_clear_display();
#if defined(SANSA_CLIP) || defined(SANSA_CLIPV2) || defined(SANSA_CLIPPLUS)
@@ -646,7 +646,7 @@ int show_logo( void )
lcd_clear_display();
lcd_double_height(true);
lcd_puts(0, 0, rockbox);
- lcd_puts_scroll(0, 1, appsversion);
+ lcd_puts_scroll(0, 1, rbversion);
#endif
lcd_update();
diff --git a/apps/plugin.c b/apps/plugin.c
index 83f27ea249..d626ef6488 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -718,7 +718,7 @@ static const struct plugin_api rockbox_api = {
semaphore_release,
#endif
- appsversion,
+ rbversion,
/* new stuff at the end, sort into place next time
the API gets incompatible */
};
diff --git a/apps/plugin.h b/apps/plugin.h
index 7e198c97bd..a6b864ba44 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -885,7 +885,7 @@ int (*round_value_to_list32)(unsigned long value,
void (*semaphore_release)(struct semaphore *s);
#endif
- const char *appsversion;
+ const char *rbversion;
/* new stuff at the end, sort into place next time
the API gets incompatible */
};
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 165ce54634..945abe924d 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -546,7 +546,7 @@ int main(void)
"will continue.\n\n",BATTERY_LOG);
rb->fdprintf(fd,
"Battery bench run for %s version %s\n\n"
- ,MODEL_NAME,rb->appsversion);
+ ,MODEL_NAME,rb->rbversion);
rb->fdprintf(fd,
"Battery type: %d mAh Buffer Entries: %d\n"
@@ -578,7 +578,7 @@ int main(void)
rb->fdprintf(fd, "\n--File already present. Resuming Benchmark--\n");
rb->fdprintf(fd,
"Battery bench run for %s version %s\n\n"
- ,MODEL_NAME,rb->appsversion);
+ ,MODEL_NAME,rb->rbversion);
rb->close(fd);
}
diff --git a/apps/plugins/iriver_flash.c b/apps/plugins/iriver_flash.c
index 3f5490e754..24542a9398 100644
--- a/apps/plugins/iriver_flash.c
+++ b/apps/plugins/iriver_flash.c
@@ -411,7 +411,7 @@ int flash_rockbox(const char *filename, int section)
rb->memset(&hdr, 0, sizeof(struct flash_header));
hdr.magic = FLASH_MAGIC;
hdr.length = len;
- // rb->strncpy(hdr.version, APPSVERSION, sizeof(hdr.version)-1);
+ // rb->strncpy(hdr.version, rb->rbversion , sizeof(hdr.version)-1);
p16 = (uint16_t *)&hdr;
rb->snprintf(buf, sizeof(buf), "Programming...");
diff --git a/apps/plugins/settings_dumper.c b/apps/plugins/settings_dumper.c
index ea69353e17..93c4f67657 100644
--- a/apps/plugins/settings_dumper.c
+++ b/apps/plugins/settings_dumper.c
@@ -129,7 +129,7 @@ enum plugin_status plugin_start(
return PLUGIN_ERROR;
list = rb->get_settings_list(&setting_count);
rb->fdprintf(fd, "# .cfg file created by rockbox %s - "
- "http://www.rockbox.org\r\n\r\n", rb->appsversion);
+ "http://www.rockbox.org\r\n\r\n", rb->rbversion);
rb->fdprintf(fd, "# -- Sound settings -- #\r\n");
for(i=0;i<setting_count;i++)
diff --git a/apps/settings.c b/apps/settings.c
index 6349372326..25593e55ac 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -536,7 +536,7 @@ static bool settings_write_config(const char* filename, int options)
if (fd < 0)
return false;
fdprintf(fd, "# .cfg file created by rockbox %s - "
- "http://www.rockbox.org\r\n\r\n", appsversion);
+ "http://www.rockbox.org\r\n\r\n", rbversion);
for(i=0; i<nb_settings; i++)
{
if (settings[i].cfg_name == NULL)
diff --git a/apps/version.h b/apps/version.h
deleted file mode 100644
index 73828ddfc5..0000000000
--- a/apps/version.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2002 Björn Stenberg
- *
- * This program 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; either version 2
- * of the License, or (at your option) any later version.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-#ifndef _VERSION_H_
-#define _VERSION_H_
-
-extern const char appsversion[];
-
-#endif
diff --git a/bootloader/Makefile b/bootloader/Makefile
index 3272510051..07f347ee16 100644
--- a/bootloader/Makefile
+++ b/bootloader/Makefile
@@ -46,12 +46,8 @@ ifdef APPEXTRA
INCLUDES += $(patsubst %,-I%,$(subst :, ,$(APPEXTRA)))
endif
-ifndef VERSION
-VERSION=$(shell date +%y%m%d-%H%M)
-endif
-
-CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(DEFINES) \
- -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE}
+CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(DEFINES) $(EXTRA_DEFINES) \
+ -DMEM=${MEMORYSIZE}
OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
SOURCES = $(SRC)
diff --git a/bootloader/creativezvm.c b/bootloader/creativezvm.c
index 6469de7c29..73968c3b3f 100644
--- a/bootloader/creativezvm.c
+++ b/bootloader/creativezvm.c
@@ -29,6 +29,7 @@
#include "button.h"
#include "common.h"
#include "usb.h"
+#include "version.h"
static void load_fw(unsigned char* ptr, unsigned int len)
@@ -66,7 +67,7 @@ void main(void)
lcd_setfont(FONT_SYSFIXED);
reset_screen();
printf("Rockbox boot loader");
- printf("Version %s", APPSVERSION);
+ printf("Version " RBVERSION);
ret = storage_init();
if(ret)
diff --git a/bootloader/gigabeat-s.c b/bootloader/gigabeat-s.c
index 7c429a9b65..dcff26c4de 100644
--- a/bootloader/gigabeat-s.c
+++ b/bootloader/gigabeat-s.c
@@ -35,11 +35,11 @@
#include "font.h"
#include "lcd.h"
#include "usb-target.h"
+#include "version.h"
#define TAR_CHUNK 512
#define TAR_HEADER_SIZE 157
-const char version[] = APPSVERSION;
/* Where files sent via MTP are stored */
static const char basedir[] = "/Content/0b00/00/";
/* Can use memory after vector table up to 0x01f00000 */
@@ -346,7 +346,7 @@ void main(void)
lcd_clear_display();
printf("Gigabeat S Rockbox Bootloader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
/* Initialize KPP so we can poll the button states */
button_init_device();
diff --git a/bootloader/gigabeat.c b/bootloader/gigabeat.c
index 81c069469d..7a634b329c 100644
--- a/bootloader/gigabeat.c
+++ b/bootloader/gigabeat.c
@@ -45,11 +45,10 @@
#include "usb.h"
#include "mmu-arm.h"
#include "rtc.h"
+#include "version.h"
#include <stdarg.h>
-char version[] = APPSVERSION;
-
void shutdown(void)
{
/* We need to gracefully spin down the disk to prevent clicks. */
@@ -174,7 +173,7 @@ void main(void)
verbose = true;
printf("Rockbox boot loader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
sleep(50); /* ATA seems to error without this pause */
diff --git a/bootloader/iaudio_coldfire.c b/bootloader/iaudio_coldfire.c
index a3b318bbbc..5639a0e59b 100644
--- a/bootloader/iaudio_coldfire.c
+++ b/bootloader/iaudio_coldfire.c
@@ -42,6 +42,8 @@
#include "power.h"
#include "powermgmt.h"
#include "file.h"
+#include "version.h"
+
#include "pcf50606.h"
#include "common.h"
@@ -58,8 +60,6 @@ int usb_screen(void)
return 0;
}
-char version[] = APPSVERSION;
-
/* Reset the cookie for the crt0 crash check */
inline void __reset_cookie(void)
{
@@ -188,7 +188,7 @@ void main(void)
}
printf("Rockbox boot loader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
check_battery();
diff --git a/bootloader/ipod.c b/bootloader/ipod.c
index ee555793d0..af4c1576bb 100644
--- a/bootloader/ipod.c
+++ b/bootloader/ipod.c
@@ -44,6 +44,7 @@
#include "common.h"
#include "hwcompat.h"
#include "usb.h"
+#include "version.h"
#define XSC(X) #X
#define SC(X) XSC(X)
@@ -56,9 +57,6 @@
/* A buffer to load the Linux kernel or Rockbox into */
unsigned char *loadbuffer = (unsigned char *)DRAM_START;
-/* Bootloader version */
-char version[] = APPSVERSION;
-
#if CONFIG_KEYPAD == IPOD_4G_PAD && !defined(IPOD_MINI)
/* check if number of seconds has past */
int timer_check(int clock_start, unsigned int usecs)
@@ -335,7 +333,7 @@ void* main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox boot loader");
- printf("Version: %s", version);
+ printf("Version: " RBVERSION);
printf("IPOD version: 0x%08x", IPOD_HW_REVISION);
i=ata_init();
diff --git a/bootloader/ipodnano2g.c b/bootloader/ipodnano2g.c
index 14b5bbce20..b2b2138f78 100644
--- a/bootloader/ipodnano2g.c
+++ b/bootloader/ipodnano2g.c
@@ -44,6 +44,7 @@
#include "power.h"
#include "file.h"
#include "common.h"
+#include "version.h"
/* Safety measure - maximum allowed firmware image size.
The largest known current (October 2009) firmware is about 6.2MB so
@@ -54,9 +55,6 @@
/* The buffer to load the firmware into - use an uncached alias of 0x08000000 */
unsigned char *loadbuffer = (unsigned char *)0x48000000;
-/* Bootloader version */
-char version[] = APPSVERSION;
-
extern int line;
void fatal_error(void)
@@ -209,7 +207,7 @@ void main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox boot loader");
- printf("Version: %s", version);
+ printf("Version: " RBVERSION);
i = storage_init();
diff --git a/bootloader/iriver_h1x0.c b/bootloader/iriver_h1x0.c
index f16a5128c9..1afbafa830 100644
--- a/bootloader/iriver_h1x0.c
+++ b/bootloader/iriver_h1x0.c
@@ -46,6 +46,7 @@
#include "eeprom_settings.h"
#include "rbunicode.h"
#include "common.h"
+#include "version.h"
#include <stdarg.h>
@@ -58,8 +59,6 @@
static bool recovery_mode = false;
#endif
-char version[] = APPSVERSION;
-
/* Reset the cookie for the crt0 crash check */
inline void __reset_cookie(void)
{
@@ -254,7 +253,7 @@ void failsafe_menu(void)
extern int line;
reset_screen();
- printf("Bootloader %s", version);
+ printf("Bootloader " RBVERSION);
check_battery();
printf("=========================");
line += FAILSAFE_OPTIONS;
@@ -502,7 +501,7 @@ void main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox boot loader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
/* No need to wait here more because lcd_init and others already do that. */
// sleep(HZ/50); /* Allow the button driver to check the buttons */
diff --git a/bootloader/iriver_h300.c b/bootloader/iriver_h300.c
index d15efb9b72..893532cac7 100644
--- a/bootloader/iriver_h300.c
+++ b/bootloader/iriver_h300.c
@@ -47,6 +47,7 @@
#include "common.h"
#include "rbunicode.h"
#include "isp1362.h"
+#include "version.h"
#include <stdarg.h>
@@ -55,8 +56,6 @@
#define DRAM_START 0x31000000
-char version[] = APPSVERSION;
-
/* Reset the cookie for the crt0 crash check */
inline void __reset_cookie(void)
{
@@ -210,7 +209,7 @@ void main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox boot loader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
sleep(HZ/50); /* Allow the button driver to check the buttons */
rec_button = ((button_status() & BUTTON_REC) == BUTTON_REC)
diff --git a/bootloader/main-e200r-installer.c b/bootloader/main-e200r-installer.c
index 0a7b56b1b6..defdea4574 100644
--- a/bootloader/main-e200r-installer.c
+++ b/bootloader/main-e200r-installer.c
@@ -39,9 +39,7 @@
#include "i2c.h"
#include "backlight-target.h"
#include "power.h"
-
-/* Bootloader version */
-char version[] = APPSVERSION;
+#include "version.h"
#define START_SECTOR_OF_ROM 1
#define ROMSECTOR_TO_HACK 63
@@ -116,7 +114,7 @@ void* main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox e200R installer");
- printf("Version: %s", version);
+ printf("Version: " RBVERSION);
printf(MODEL_NAME);
printf("");
diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c
index 4f1fe2a4e1..37f42eda43 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -39,6 +39,7 @@
#include "crc32-mi4.h"
#include <string.h>
#include "power.h"
+#include "version.h"
#if defined(SANSA_E200) || defined(PHILIPS_SA9200)
#include "i2c.h"
#include "backlight-target.h"
@@ -95,9 +96,6 @@ extern int show_logo(void);
/* A buffer to load the original firmware or Rockbox into */
unsigned char *loadbuffer = (unsigned char *)DRAM_START;
-/* Bootloader version */
-char version[] = APPSVERSION;
-
/* Locations and sizes in hidden partition on Sansa */
#if (CONFIG_STORAGE & STORAGE_SD)
#define PPMI_SECTOR_OFFSET 1024
@@ -525,7 +523,7 @@ void* main(void)
lcd_setfont(FONT_SYSFIXED);
printf("Rockbox boot loader");
- printf("Version: %s", version);
+ printf("Version: " RBVERSION);
printf(MODEL_NAME);
i=storage_init();
diff --git a/bootloader/meizu_m3.c b/bootloader/meizu_m3.c
index 61aa3cecbe..7c0a5bca2d 100644
--- a/bootloader/meizu_m3.c
+++ b/bootloader/meizu_m3.c
@@ -54,7 +54,6 @@
#include "audiohw.h"
#include "rtc.h"
-char version[] = APPSVERSION;
#define LONG_DELAY 200000
#define SHORT_DELAY 50000
#define PAUSE_DELAY 50000
diff --git a/bootloader/meizu_m6sl.c b/bootloader/meizu_m6sl.c
index 0b335bec8a..c230ec3c08 100644
--- a/bootloader/meizu_m6sl.c
+++ b/bootloader/meizu_m6sl.c
@@ -47,7 +47,6 @@
#include <stdarg.h>
-char version[] = APPSVERSION;
#define LONG_DELAY 200000
#define SHORT_DELAY 50000
#define PAUSE_DELAY 50000
diff --git a/bootloader/meizu_m6sp.c b/bootloader/meizu_m6sp.c
index 064d3fc8df..c57fe91b22 100644
--- a/bootloader/meizu_m6sp.c
+++ b/bootloader/meizu_m6sp.c
@@ -45,7 +45,6 @@
#include <stdarg.h>
-char version[] = APPSVERSION;
#define LONG_DELAY 200000
#define SHORT_DELAY 50000
#define PAUSE_DELAY 50000
diff --git a/bootloader/mini2440.c b/bootloader/mini2440.c
index d735084c6a..f4441c3730 100644
--- a/bootloader/mini2440.c
+++ b/bootloader/mini2440.c
@@ -46,6 +46,7 @@
#include "dma-target.h"
#include "uart-s3c2440.h"
#include "led-mini2440.h"
+#include "version.h"
int main(void)
@@ -78,7 +79,7 @@ int main(void)
verbose = true;
printf("Rockbox boot loader");
- printf("Version %s", APPSVERSION);
+ printf("Version " RBVERSION);
rc = storage_init();
if(rc)
diff --git a/bootloader/mpio_hd200.c b/bootloader/mpio_hd200.c
index a031234b5a..8062f7ef22 100644
--- a/bootloader/mpio_hd200.c
+++ b/bootloader/mpio_hd200.c
@@ -43,6 +43,7 @@
#include "file.h"
#include "common.h"
+#include "version.h"
#include <stdarg.h>
@@ -78,8 +79,6 @@ int usb_screen(void)
return 0;
}
-char version[] = APPSVERSION;
-
static inline bool _charger_inserted(void)
{
return (GPIO1_READ & (1<<14)) ? false : true;
@@ -233,7 +232,7 @@ static void bootmenu(void)
/* backbone of menu */
/* run the loader */
printf("Rockbox boot loader");
- printf("Ver: %s", version);
+ printf("Ver: " RBVERSION);
check_battery();
diff --git a/bootloader/mrobe500.c b/bootloader/mrobe500.c
index 9052cbdc3c..d6ca58e009 100644
--- a/bootloader/mrobe500.c
+++ b/bootloader/mrobe500.c
@@ -45,6 +45,7 @@
#include "tsc2100.h"
#include "time.h"
#include "system-arm.h"
+#include "version.h"
void main(void)
{
@@ -83,7 +84,7 @@ void main(void)
verbose = true;
printf("Rockbox boot loader");
- printf("Version %s", APPSVERSION);
+ printf("Version " RBVERSION);
/* Enter USB mode without USB thread */
if(usb_detect() == USB_INSERTED)
diff --git a/bootloader/ondavx747.c b/bootloader/ondavx747.c
index 994f45d78d..4dfc78d58c 100644
--- a/bootloader/ondavx747.c
+++ b/bootloader/ondavx747.c
@@ -33,6 +33,7 @@
#include "disk.h"
#include "string.h"
#include "adc.h"
+#include "version.h"
extern int show_logo(void);
extern void power_off(void);
@@ -296,7 +297,7 @@ int main(void)
if(verbose)
reset_screen();
printf(MODEL_NAME" Rockbox Bootloader");
- printf("Version "APPSVERSION);
+ printf("Version " RBVERSION);
#ifdef HAS_BUTTON_HOLD
if(button_hold())
diff --git a/bootloader/samsung_yps3.c b/bootloader/samsung_yps3.c
index 3cf5cb70ec..d4eff81e01 100644
--- a/bootloader/samsung_yps3.c
+++ b/bootloader/samsung_yps3.c
@@ -57,7 +57,6 @@
#include "wmcodec.h"
#include "nand-target.h"
-char version[] = APPSVERSION;
#define LONG_DELAY 200000
#define SHORT_DELAY 50000
#define PAUSE_DELAY 50000
diff --git a/bootloader/show_logo.c b/bootloader/show_logo.c
index 09c6dbd4aa..3273034d05 100644
--- a/bootloader/show_logo.c
+++ b/bootloader/show_logo.c
@@ -23,13 +23,14 @@
#include "font.h"
#include <stdio.h>
#include <string.h>
+#include "version.h"
#include "bitmaps/rockboxlogo.h"
#if LCD_WIDTH <= 128
-#define BOOT_VERSION ("Boot " APPSVERSION)
+#define BOOT_VERSION ("Boot " RBVERSION)
#else
-#define BOOT_VERSION ("Boot Ver. " APPSVERSION)
+#define BOOT_VERSION ("Boot Ver. " RBVERSION)
#endif
/* Ensure TEXT_XPOS is >= 0 */
diff --git a/bootloader/telechips.c b/bootloader/telechips.c
index 98f8bebc38..9e9e75c183 100644
--- a/bootloader/telechips.c
+++ b/bootloader/telechips.c
@@ -43,6 +43,7 @@
#include "power.h"
#include "file.h"
#include "common.h"
+#include "version.h"
/* Show the Rockbox logo - in show_logo.c */
extern int show_logo(void);
@@ -50,8 +51,6 @@ extern int show_logo(void);
/* Address to load main Rockbox image to */
#define LOAD_ADDRESS 0x20000000 /* DRAM_START */
-char version[] = APPSVERSION;
-
extern int line;
#define MAX_LOAD_SIZE (8*1024*1024) /* Arbitrary, but plenty. */
@@ -152,7 +151,7 @@ void* main(void)
available for loading the firmware. Otherwise display the debug screen. */
#ifdef TCCBOOT
printf("Rockbox boot loader");
- printf("Version %s", version);
+ printf("Version " RBVERSION);
printf("ATA");
rc = storage_init();
diff --git a/bootloader/tpj1022.c b/bootloader/tpj1022.c
index db709d1b58..159dcc63cd 100644
--- a/bootloader/tpj1022.c
+++ b/bootloader/tpj1022.c
@@ -39,8 +39,6 @@
#include "file.h"
#include "common.h"
-char version[] = APPSVERSION;
-
void* main(void)
{
int i;
diff --git a/docs/PLUGIN_API.new b/docs/PLUGIN_API.new
index 1989386661..75c82d447b 100644
--- a/docs/PLUGIN_API.new
+++ b/docs/PLUGIN_API.new
@@ -39,7 +39,7 @@ bool action_userabort(int timeout)
\return
\description
-const char *appsversion
+const char *rbversion
\return version of the plugin API
\description
diff --git a/firmware/firmware.make b/firmware/firmware.make
index 52b5a19cc6..105fe7e111 100644
--- a/firmware/firmware.make
+++ b/firmware/firmware.make
@@ -17,13 +17,14 @@ FIRMLIB_OBJ := $(call c2obj, $(FIRMLIB_SRC))
ifeq (,$(findstring -DARCHOS_PLAYER,$(TARGET)))
FIRMLIB_OBJ += $(BUILDDIR)/sysfont.o
endif
+FIRMLIB_OBJ += $(BUILDDIR)/version.o
OTHER_SRC += $(FIRMLIB_SRC)
FIRMLIB = $(BUILDDIR)/firmware/libfirmware.a
SYSFONT = $(ROOTDIR)/fonts/08-Schumacher-Clean.bdf
-CLEANOBJS += $(BUILDDIR)/sysfont.*
+CLEANOBJS += $(BUILDDIR)/sysfont.* $(BUILDDIR)/version.*
# Limits for the built-in sysfont: ASCII for bootloaders, ISO8859-1 for normal builds
ifneq (,$(findstring -DBOOTLOADER,$(EXTRA_DEFINES)))
@@ -43,3 +44,5 @@ $(BUILDDIR)/sysfont.o: $(SYSFONT) $(BUILDDIR)/sysfont.h
$(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $<
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@
+$(BUILDDIR)/version.c $(BUILDDIR)/version.h:
+ $(TOOLSDIR)/genversion.sh $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR)
diff --git a/flash/bootbox/Makefile b/flash/bootbox/Makefile
index 7ef5364a6e..754f95dd49 100644
--- a/flash/bootbox/Makefile
+++ b/flash/bootbox/Makefile
@@ -27,7 +27,7 @@ ifdef APPEXTRA
endif
CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(DEFINES) \
- -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE}
+ $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE}
OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
SOURCES = $(SRC)
diff --git a/gdb/Makefile b/gdb/Makefile
index 83181999f3..0cd9990cd1 100644
--- a/gdb/Makefile
+++ b/gdb/Makefile
@@ -28,7 +28,7 @@ VERSION=$(shell date +%y%m%d-%H%M)
endif
CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(DEFINES) \
- -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE}
+ $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE}
OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
SOURCES = $(SRC)
diff --git a/tools/configure b/tools/configure
index d091e3258d..9654cc67f9 100755
--- a/tools/configure
+++ b/tools/configure
@@ -3103,7 +3103,6 @@ export BUILDDIR=@PWD@
export LANGUAGE=@LANGUAGE@
export VOICELANGUAGE=@VOICELANGUAGE@
export MEMORYSIZE=@MEMORY@
-export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
export MKFIRMWARE=@TOOL@
export BMP2RB_MONO=@BMP2RB_MONO@
diff --git a/tools/genversion.sh b/tools/genversion.sh
new file mode 100755
index 0000000000..cf8d999e5b
--- /dev/null
+++ b/tools/genversion.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+
+# Usage: genversion.sh destination-dir path-to-version.sh [source-root]
+
+# Generate version.[ch] files
+
+VERSION=`$2 $3`
+
+cat > "$1/_version.h" << EOF
+/* Generated by genversion.sh */
+extern const char rbversion[];
+#define RBVERSION "$VERSION"
+EOF
+
+if [ -f "$1/version.h" ]
+ then if diff "$1/_version.h" "$1/version.h" > /dev/null
+ then mv "$1/_version.h" "$1/version.h"
+ else rm -f "$1/_version.h"
+ fi
+ else mv "$1/_version.h" "$1/version.h"
+fi
+
+
+cat > "$1/_version.c" << EOF
+/* Generated by genversion.sh */
+const char rbversion[] = "$VERSION";
+EOF
+
+if [ -f "$1/version.c" ]
+ then if diff "$1/_version.c" "$1/version.c" > /dev/null
+ then mv "$1/_version.c" "$1/version.c"
+ else rm -f "$1/_version.c"
+ fi
+ else mv "$1/_version.c" "$1/version.c"
+fi
+
diff --git a/tools/root.make b/tools/root.make
index f2373f5f7d..ddea297ccf 100644
--- a/tools/root.make
+++ b/tools/root.make
@@ -10,8 +10,7 @@
include $(TOOLSDIR)/functions.make
DEFINES = -DROCKBOX -DMEMORYSIZE=$(MEMORYSIZE) -DMEM=$(MEMORYSIZE) $(TARGET) \
- -DTARGET_ID=$(TARGET_ID) -DTARGET_NAME=\"$(MODELNAME)\" \
- -DAPPSVERSION=\"$(VERSION)\" $(BUILDDATE) \
+ -DTARGET_ID=$(TARGET_ID) -DTARGET_NAME=\"$(MODELNAME)\" $(BUILDDATE) \
$(EXTRA_DEFINES) # <-- -DSIMULATOR or not
INCLUDES = -I$(BUILDDIR) -I$(BUILDDIR)/lang $(TARGET_INC)
diff --git a/uisimulator/common/Makefile b/uisimulator/common/Makefile
index ef68230153..f54df57b27 100644
--- a/uisimulator/common/Makefile
+++ b/uisimulator/common/Makefile
@@ -32,7 +32,7 @@ include $(TOOLSDIR)/makesrc.inc
OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
DEFINES := -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR \
-$(TARGET) -DAPPSVERSION=\"$(VERSION)\" -DMEM=${MEMORYSIZE} $(EXTRA_DEFINES)
+$(TARGET) -DMEM=${MEMORYSIZE} $(EXTRA_DEFINES)
SOURCES = $(SRC)