summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-06-22 18:34:03 +0000
committerThomas Martitz <kugel@rockbox.org>2010-06-22 18:34:03 +0000
commitf32bd593c426755a140556ed1b5230447e5da726 (patch)
tree281f06c98f1f5408d8bf239ab722ff32e51994f9
parentbe66e4d64269176848d4f82d95596745dc17679c (diff)
downloadrockbox-f32bd593c426755a140556ed1b5230447e5da726.tar.gz
rockbox-f32bd593c426755a140556ed1b5230447e5da726.zip
Add an advanced build option to force compiling and linking our reduced C library (probably useful for the sim).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27059 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/SOURCES33
-rw-r--r--firmware/libc/memchr.c1
-rw-r--r--firmware/libc/memcmp.c2
-rw-r--r--firmware/libc/memcpy.c2
-rw-r--r--firmware/libc/strchr.c1
-rw-r--r--firmware/libc/strcmp.c1
-rw-r--r--firmware/libc/strcpy.c1
-rw-r--r--firmware/libc/strlen.c2
-rw-r--r--firmware/libc/strncmp.c1
-rw-r--r--firmware/libc/strrchr.c1
-rwxr-xr-xtools/configure9
11 files changed, 38 insertions, 16 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index bef2b772ad..53c38e0ee9 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -46,22 +46,41 @@ libc/strtok.c
46/* alsa on linux requires a more advanced sprintf, i.e. not ours */ 46/* alsa on linux requires a more advanced sprintf, i.e. not ours */
47libc/sprintf.c 47libc/sprintf.c
48#endif /* PLATFORM_NATIVE || __MINGW32__ || __CYGWIN__ */ 48#endif /* PLATFORM_NATIVE || __MINGW32__ || __CYGWIN__ */
49#if (CONFIG_PLATFORM & PLATFORM_NATIVE) 49#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(HAVE_ROCKBOX_C_LIBRARY)
50libc/atoi.c 50libc/atoi.c
51
52#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
53/* our ctype.[ch] comes from newlib and is incompitble with most desktop's ctype */
51libc/ctype.c 54libc/ctype.c
52libc/memcmp.c 55#endif
56
53libc/memchr.c 57libc/memchr.c
58libc/memcmp.c
59
60#if !defined(CPU_SH) && !defined(CPU_COLDFIRE) && !defined(CPU_ARM)
61#if !defined(CPU_MIPS)
62libc/memcpy.c
63libc/memset.c
64#endif /* CPU_MIPS */
65libc/memmove.c
66#endif /* CPU_* */
67
54libc/qsort.c 68libc/qsort.c
55libc/random.c 69libc/random.c
56libc/strcat.c 70libc/strcat.c
57libc/strchr.c 71libc/strchr.c
58libc/strcmp.c 72libc/strcmp.c
59libc/strcpy.c 73libc/strcpy.c
74
75#if !defined(CPU_SH) && !defined(CPU_COLDFIRE)
76libc/strlen.c
77#endif
78
60libc/strncmp.c 79libc/strncmp.c
61libc/strrchr.c 80libc/strrchr.c
62libc/strstr.c 81libc/strstr.c
63libc/mktime.c 82libc/mktime.c
64#endif /* !defined(SIMULATOR)*/ 83#endif /* CONFIG_PLATFORM || HAVE_ROCKBOX_C_LIBRARY */
65 84
66/* Common */ 85/* Common */
67common/version.c 86common/version.c
@@ -414,7 +433,6 @@ target/coldfire/i2c-coldfire.c
414target/arm/support-arm.S 433target/arm/support-arm.S
415target/arm/memcpy-arm.S 434target/arm/memcpy-arm.S
416target/arm/memmove-arm.S 435target/arm/memmove-arm.S
417libc/strlen.c
418#ifndef SIMULATOR 436#ifndef SIMULATOR
419target/arm/memset-arm.S 437target/arm/memset-arm.S
420target/arm/memset16-arm.S 438target/arm/memset16-arm.S
@@ -509,10 +527,7 @@ target/arm/crt0.S
509 527
510#elif defined(CPU_MIPS) 528#elif defined(CPU_MIPS)
511#undef mips 529#undef mips
512/*target/mips/strlen.S*/
513libc/memmove.c
514common/memset16.c 530common/memset16.c
515libc/strlen.c
516target/mips/ffs-mips.S 531target/mips/ffs-mips.S
517target/mips/memcpy-mips.S 532target/mips/memcpy-mips.S
518target/mips/memset-mips.S 533target/mips/memset-mips.S
@@ -526,11 +541,7 @@ target/mips/ingenic_jz47xx/crt0.S
526#ifdef HAVE_PRIORITY_SCHEDULING 541#ifdef HAVE_PRIORITY_SCHEDULING
527common/ffs.c 542common/ffs.c
528#endif 543#endif
529libc/memcpy.c
530libc/memmove.c
531libc/memset.c
532common/memset16.c 544common/memset16.c
533libc/strlen.c
534#if (CONFIG_PLATFORM & PLATFORM_NATIVE) 545#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
535crt0.S 546crt0.S
536drivers/i2c.c 547drivers/i2c.c
diff --git a/firmware/libc/memchr.c b/firmware/libc/memchr.c
index 26bdb9eea3..8b6b4d69d9 100644
--- a/firmware/libc/memchr.c
+++ b/firmware/libc/memchr.c
@@ -35,6 +35,7 @@ QUICKREF
35 35
36#include <string.h> 36#include <string.h>
37#include <limits.h> 37#include <limits.h>
38#include "_ansi.h" /* for _DEFUN */
38 39
39/* Nonzero if X is not aligned on a "long" boundary. */ 40/* Nonzero if X is not aligned on a "long" boundary. */
40#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) 41#define UNALIGNED(X) ((long)X & (sizeof (long) - 1))
diff --git a/firmware/libc/memcmp.c b/firmware/libc/memcmp.c
index 1535fcf5b5..c2fa1bf6b7 100644
--- a/firmware/libc/memcmp.c
+++ b/firmware/libc/memcmp.c
@@ -37,7 +37,7 @@ QUICKREF
37*/ 37*/
38 38
39#include <string.h> 39#include <string.h>
40 40#include "_ansi.h" /* for _DEFUN */
41 41
42/* Nonzero if either X or Y is not aligned on a "long" boundary. */ 42/* Nonzero if either X or Y is not aligned on a "long" boundary. */
43#define UNALIGNED(X, Y) \ 43#define UNALIGNED(X, Y) \
diff --git a/firmware/libc/memcpy.c b/firmware/libc/memcpy.c
index a89ac3c557..c5456ab41f 100644
--- a/firmware/libc/memcpy.c
+++ b/firmware/libc/memcpy.c
@@ -33,7 +33,7 @@ QUICKREF
33 */ 33 */
34 34
35#include "config.h" 35#include "config.h"
36#include <_ansi.h> 36#include "_ansi.h" /* for _DEFUN */
37#include <string.h> 37#include <string.h>
38 38
39/* Nonzero if either X or Y is not aligned on a "long" boundary. */ 39/* Nonzero if either X or Y is not aligned on a "long" boundary. */
diff --git a/firmware/libc/strchr.c b/firmware/libc/strchr.c
index 96acf5edf6..ada6e2d098 100644
--- a/firmware/libc/strchr.c
+++ b/firmware/libc/strchr.c
@@ -35,6 +35,7 @@ QUICKREF
35 35
36#include <string.h> 36#include <string.h>
37#include <limits.h> 37#include <limits.h>
38#include "_ansi.h" /* for _DEFUN */
38 39
39/* Nonzero if X is not aligned on a "long" boundary. */ 40/* Nonzero if X is not aligned on a "long" boundary. */
40#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) 41#define UNALIGNED(X) ((long)X & (sizeof (long) - 1))
diff --git a/firmware/libc/strcmp.c b/firmware/libc/strcmp.c
index bbbf4b174a..d540fae7dd 100644
--- a/firmware/libc/strcmp.c
+++ b/firmware/libc/strcmp.c
@@ -37,6 +37,7 @@ QUICKREF
37 37
38#include <string.h> 38#include <string.h>
39#include <limits.h> 39#include <limits.h>
40#include "_ansi.h" /* for _DEFUN */
40 41
41/* Nonzero if either X or Y is not aligned on a "long" boundary. */ 42/* Nonzero if either X or Y is not aligned on a "long" boundary. */
42#define UNALIGNED(X, Y) \ 43#define UNALIGNED(X, Y) \
diff --git a/firmware/libc/strcpy.c b/firmware/libc/strcpy.c
index 077ae73cc6..035e2bda9e 100644
--- a/firmware/libc/strcpy.c
+++ b/firmware/libc/strcpy.c
@@ -34,6 +34,7 @@ QUICKREF
34 34
35#include <string.h> 35#include <string.h>
36#include <limits.h> 36#include <limits.h>
37#include "_ansi.h" /* for _DEFUN */
37 38
38/*SUPPRESS 560*/ 39/*SUPPRESS 560*/
39/*SUPPRESS 530*/ 40/*SUPPRESS 530*/
diff --git a/firmware/libc/strlen.c b/firmware/libc/strlen.c
index 4d33eafce6..649df6764b 100644
--- a/firmware/libc/strlen.c
+++ b/firmware/libc/strlen.c
@@ -32,7 +32,7 @@ QUICKREF
32*/ 32*/
33 33
34#include "config.h" 34#include "config.h"
35#include <_ansi.h> 35#include "_ansi.h"
36#include <string.h> 36#include <string.h>
37#include <limits.h> 37#include <limits.h>
38 38
diff --git a/firmware/libc/strncmp.c b/firmware/libc/strncmp.c
index b1d8d9d43a..315fae810a 100644
--- a/firmware/libc/strncmp.c
+++ b/firmware/libc/strncmp.c
@@ -38,6 +38,7 @@ QUICKREF
38 38
39#include <string.h> 39#include <string.h>
40#include <limits.h> 40#include <limits.h>
41#include "_ansi.h" /* for _DEFUN */
41 42
42/* Nonzero if either X or Y is not aligned on a "long" boundary. */ 43/* Nonzero if either X or Y is not aligned on a "long" boundary. */
43#define UNALIGNED(X, Y) \ 44#define UNALIGNED(X, Y) \
diff --git a/firmware/libc/strrchr.c b/firmware/libc/strrchr.c
index 31b0d049b3..0489edd499 100644
--- a/firmware/libc/strrchr.c
+++ b/firmware/libc/strrchr.c
@@ -34,6 +34,7 @@ QUICKREF
34*/ 34*/
35 35
36#include <string.h> 36#include <string.h>
37#include "_ansi.h" /* for _DEFUN */
37 38
38char * 39char *
39_DEFUN (strrchr, (s, i), 40_DEFUN (strrchr, (s, i),
diff --git a/tools/configure b/tools/configure
index 9f5b5cfdb4..277436d716 100755
--- a/tools/configure
+++ b/tools/configure
@@ -383,8 +383,9 @@ whichadvanced () {
383 else 383 else
384 interact=1 384 interact=1
385 echo "" 385 echo ""
386 echo "Enter your developer options (press enter when done)" 386 printf "Enter your developer options (press only enter when done)\n\
387 printf "(D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile, (T)est plugins" 387(D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
388(T)est plugins, S(m)all C lib:"
388 if [ "$memory" = "2" ]; then 389 if [ "$memory" = "2" ]; then
389 printf ", (8)MB MOD" 390 printf ", (8)MB MOD"
390 fi 391 fi
@@ -425,6 +426,10 @@ whichadvanced () {
425 echo "logf() support enabled" 426 echo "logf() support enabled"
426 logf="yes" 427 logf="yes"
427 ;; 428 ;;
429 [Mm])
430 echo "Using Rockbox' small C library"
431 extradefines="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
432 ;;
428 [Tt]) 433 [Tt])
429 echo "Including test plugins" 434 echo "Including test plugins"
430 extradefines="$extradefines -DHAVE_TEST_PLUGINS" 435 extradefines="$extradefines -DHAVE_TEST_PLUGINS"