summaryrefslogtreecommitdiffstats
path: root/newlib/libc/posix
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/posix')
-rw-r--r--newlib/libc/posix/Makefile.am40
-rw-r--r--newlib/libc/posix/Makefile.in54
-rw-r--r--newlib/libc/posix/telldir.c5
3 files changed, 73 insertions, 26 deletions
diff --git a/newlib/libc/posix/Makefile.am b/newlib/libc/posix/Makefile.am
index a43bcc687..d39aed316 100644
--- a/newlib/libc/posix/Makefile.am
+++ b/newlib/libc/posix/Makefile.am
@@ -4,20 +4,48 @@ AUTOMAKE_OPTIONS = cygnus
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
-LIB_SOURCES = \
- closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
- telldir.c execl.c execle.c execlp.c execv.c execve.c execvp.c \
- popen.c creat.c isatty.c readdir_r.c
+GENERAL_SOURCES = \
+ closedir.c creat.c isatty.c \
+ opendir.c readdir.c \
+ readdir_r.c rewinddir.c telldir.c
+
+ELIX_2_OBJS = \
+ scandir.$(oext) seekdir.$(oext)
+
+ELIX_3_OBJS = \
+ execl.$(oext) execle.$(oext) execlp.$(oext) execv.$(oext) \
+ execve.$(oext) execvp.$(oext)
+
+ELIX_4_OBJS = \
+ popen.$(oext)
+
+if ELIX_LEVEL_1
+LIB_OBJS =
+else
+if ELIX_LEVEL_2
+LIB_OBJS = $(ELIX_2_OBJS)
+else
+if ELIX_LEVEL_3
+LIB_OBJS = $(ELIX_2_OBJS) $(ELIX_3_OBJS)
+else
+LIB_OBJS = $(ELIX_2_OBJS) $(ELIX_3_OBJS) $(ELIX_4_OBJS)
+endif
+endif
+endif
libposix_la_LDFLAGS = -Xcompiler -nostdlib
if USE_LIBTOOL
noinst_LTLIBRARIES = libposix.la
-libposix_la_SOURCES = $(LIB_SOURCES)
+libposix_la_SOURCES = $(GENERAL_SOURCES)
+libposix_la_LIBADD = $(LIB_OBJS)
+libposix_la_DEPENDENCIES = $(LIB_OBJS)
noinst_DATA = objectlist.awk.in
else
noinst_LIBRARIES = lib.a
-lib_a_SOURCES = $(LIB_SOURCES)
+lib_a_SOURCES = $(GENERAL_SOURCES)
+lib_a_LIBADD = $(LIB_OBJS)
+lib_a_DEPENDENCIES = $(LIB_OBJS)
noinst_DATA =
endif # USE_LIBTOOL
diff --git a/newlib/libc/posix/Makefile.in b/newlib/libc/posix/Makefile.in
index c2f6359f9..71430dda5 100644
--- a/newlib/libc/posix/Makefile.in
+++ b/newlib/libc/posix/Makefile.in
@@ -110,20 +110,41 @@ AUTOMAKE_OPTIONS = cygnus
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
-LIB_SOURCES = \
- closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
- telldir.c execl.c execle.c execlp.c execv.c execve.c execvp.c \
- popen.c creat.c isatty.c readdir_r.c
+GENERAL_SOURCES = \
+ closedir.c creat.c isatty.c \
+ opendir.c readdir.c \
+ readdir_r.c rewinddir.c telldir.c
+ELIX_2_OBJS = \
+ scandir.$(oext) seekdir.$(oext)
+
+
+ELIX_3_OBJS = \
+ execl.$(oext) execle.$(oext) execlp.$(oext) execv.$(oext) \
+ execve.$(oext) execvp.$(oext)
+
+
+ELIX_4_OBJS = \
+ popen.$(oext)
+
+@ELIX_LEVEL_1_TRUE@LIB_OBJS =
+@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_TRUE@LIB_OBJS = @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_TRUE@$(ELIX_2_OBJS)
+@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_TRUE@LIB_OBJS = @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_TRUE@$(ELIX_2_OBJS) $(ELIX_3_OBJS)
+@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@LIB_OBJS = @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@$(ELIX_2_OBJS) $(ELIX_3_OBJS) $(ELIX_4_OBJS)
+
libposix_la_LDFLAGS = -Xcompiler -nostdlib
@USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = @USE_LIBTOOL_TRUE@libposix.la
-@USE_LIBTOOL_TRUE@libposix_la_SOURCES = @USE_LIBTOOL_TRUE@$(LIB_SOURCES)
+@USE_LIBTOOL_TRUE@libposix_la_SOURCES = @USE_LIBTOOL_TRUE@$(GENERAL_SOURCES)
+@USE_LIBTOOL_TRUE@libposix_la_LIBADD = @USE_LIBTOOL_TRUE@$(LIB_OBJS)
+@USE_LIBTOOL_TRUE@libposix_la_DEPENDENCIES = @USE_LIBTOOL_TRUE@$(LIB_OBJS)
@USE_LIBTOOL_TRUE@noinst_DATA = @USE_LIBTOOL_TRUE@objectlist.awk.in
@USE_LIBTOOL_FALSE@noinst_DATA =
@USE_LIBTOOL_FALSE@noinst_LIBRARIES = @USE_LIBTOOL_FALSE@lib.a
-@USE_LIBTOOL_FALSE@lib_a_SOURCES = @USE_LIBTOOL_FALSE@$(LIB_SOURCES)
+@USE_LIBTOOL_FALSE@lib_a_SOURCES = @USE_LIBTOOL_FALSE@$(GENERAL_SOURCES)
+@USE_LIBTOOL_FALSE@lib_a_LIBADD = @USE_LIBTOOL_FALSE@$(LIB_OBJS)
+@USE_LIBTOOL_FALSE@lib_a_DEPENDENCIES = @USE_LIBTOOL_FALSE@$(LIB_OBJS)
CHEWOUT_FILES =
@@ -142,22 +163,15 @@ LIBRARIES = $(noinst_LIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir)
CPPFLAGS = @CPPFLAGS@
LIBS = @LIBS@
-lib_a_LIBADD =
-@USE_LIBTOOL_FALSE@lib_a_OBJECTS = closedir.$(OBJEXT) opendir.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@readdir.$(OBJEXT) rewinddir.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@scandir.$(OBJEXT) seekdir.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@telldir.$(OBJEXT) execl.$(OBJEXT) execle.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@execlp.$(OBJEXT) execv.$(OBJEXT) execve.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@execvp.$(OBJEXT) popen.$(OBJEXT) creat.$(OBJEXT) \
-@USE_LIBTOOL_FALSE@isatty.$(OBJEXT) readdir_r.$(OBJEXT)
+@USE_LIBTOOL_FALSE@lib_a_OBJECTS = closedir.$(OBJEXT) creat.$(OBJEXT) \
+@USE_LIBTOOL_FALSE@isatty.$(OBJEXT) opendir.$(OBJEXT) readdir.$(OBJEXT) \
+@USE_LIBTOOL_FALSE@readdir_r.$(OBJEXT) rewinddir.$(OBJEXT) \
+@USE_LIBTOOL_FALSE@telldir.$(OBJEXT)
LTLIBRARIES = $(noinst_LTLIBRARIES)
-libposix_la_LIBADD =
-@USE_LIBTOOL_TRUE@libposix_la_OBJECTS = closedir.lo opendir.lo \
-@USE_LIBTOOL_TRUE@readdir.lo rewinddir.lo scandir.lo seekdir.lo \
-@USE_LIBTOOL_TRUE@telldir.lo execl.lo execle.lo execlp.lo execv.lo \
-@USE_LIBTOOL_TRUE@execve.lo execvp.lo popen.lo creat.lo isatty.lo \
-@USE_LIBTOOL_TRUE@readdir_r.lo
+@USE_LIBTOOL_TRUE@libposix_la_OBJECTS = closedir.lo creat.lo isatty.lo \
+@USE_LIBTOOL_TRUE@opendir.lo readdir.lo readdir_r.lo rewinddir.lo \
+@USE_LIBTOOL_TRUE@telldir.lo
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
diff --git a/newlib/libc/posix/telldir.c b/newlib/libc/posix/telldir.c
index 6022bbe19..4e51114fd 100644
--- a/newlib/libc/posix/telldir.c
+++ b/newlib/libc/posix/telldir.c
@@ -74,6 +74,9 @@ __LOCK_INIT(static, dd_hash_lock);
/*
* return a pointer into a directory
*/
+
+#ifndef _ELIX_LEVEL || _ELIX_LEVEL >= 2
+
long
telldir(dirp)
DIR *dirp;
@@ -102,6 +105,8 @@ telldir(dirp)
return (index);
}
+#endif /* !_ELIX_LEVEL || _ELIX_LEVEL >= 2 */
+
/*
* seek to an entry in a directory.
* Only values returned by "telldir" should be passed to seekdir.