diff --git a/core/org.eclipse.cdt.core.solaris/library/Makefile b/core/org.eclipse.cdt.core.solaris/library/Makefile index 8127e0888e1..034a966cfb7 100644 --- a/core/org.eclipse.cdt.core.solaris/library/Makefile +++ b/core/org.eclipse.cdt.core.solaris/library/Makefile @@ -5,14 +5,25 @@ JDK_INCLUDES=/usr/java/include JDK_OS_INCLUDES=/usr/java/include/solaris CC=gcc -LIB_NAME = libspawner.so -LIB_NAME_FULL = ../os/solaris/sparc/libspawner.so -OBJS=spawner.o io.o exec_unix.o pfind.o CPPFLAGS = -I. -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES) CFLAGS +=-fpic -D_REENTRANT -spawner : $(OBJS) - $(CC) -g -shared -Wl,-soname,$(LIB_NAME) -o $(LIB_NAME_FULL) $(OBJS) -lc +LIB_NAME_SPAWNER = libspawner.so +LIB_NAME_FULL_SPAWNER = ../os/solaris/sparc/libspawner.so +OBJS_SPAWNER=spawner.o io.o exec_unix.o pfind.o + +LIB_NAME_PTY = libpty.so +LIB_NAME_FULL_PTY = ../os/solaris/sparc/libpty.so +OBJS_PTY=openpty.o pty.o ptyio.o + +all: $(LIB_NAME_FULL_SPAWNER) $(LIB_NAME_FULL_PTY) + +$(LIB_NAME_FULL_SPAWNER): $(OBJS_SPAWNER) + $(CC) -g -shared -Wl,-soname,$(LIB_NAME_SPAWNER) -o $(LIB_NAME_FULL_SPAWNER) $(OBJS_SPAWNER) -lc + +$(LIB_NAME_FULL_PTY): $(OBJS_PTY) + $(CC) -g -shared -Wl,-soname,$(LIB_NAME_PTY) -o $(LIB_NAME_FULL_PTY) $(OBJS_PTY) clean : - rm $(OBJS) + $(RM) $(OBJS_SPAWNER) $(LIB_NAME_FULL_SPAWNER) + $(RM) $(OBJS_PTY) $(LIB_NAME_FULL_PTY) diff --git a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c index 3c8b275503e..8be8d5131db 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c @@ -29,7 +29,7 @@ exec0(const char *path, char *const argv[], char *const envp[], return -1; } } else { - full_path = path; + full_path = strdup(path); } // diff --git a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so new file mode 100644 index 00000000000..33ba3c70d63 Binary files /dev/null and b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so differ diff --git a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so index d8d9fceba5a..165c29c82ad 100644 Binary files a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so and b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so differ