mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52:11 +02:00
bug 282759: Cannot run spawner on MacOSX with a 64-bit vm
Patch from Alex Blewitt
This commit is contained in:
parent
b1ce1b2244
commit
4174ed63d5
3 changed files with 63 additions and 6 deletions
|
@ -1,3 +1,15 @@
|
|||
#*******************************************************************************
|
||||
# Copyright (c) 2002, 2009 QNX Software Systems and others.
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are made available under the terms of the Eclipse Public License v1.0
|
||||
# which accompanies this distribution, and is available at
|
||||
# http://www.eclipse.org/legal/epl-v10.html
|
||||
#
|
||||
# Contributors:
|
||||
# QNX Software Systems - initial API and implementation
|
||||
# Alex Blewitt - MacOSX with a 64-bit vm
|
||||
#*******************************************************************************/
|
||||
|
||||
# makefile for libspawner.so
|
||||
# See http://developer.apple.com/documentation/Java/Conceptual/Java141Development/Core_APIs/chapter_6_section_4.html
|
||||
|
||||
|
@ -10,6 +22,7 @@ endif
|
|||
OS = macosx
|
||||
ARCH_PPC = ppc
|
||||
ARCH_X86 = x86
|
||||
ARCH_X86_64 = x86_64
|
||||
|
||||
JDK_INCLUDES= $(JAVA_HOME)/include
|
||||
|
||||
|
@ -20,13 +33,16 @@ CFLAGS +=-fPIC -D_REENTRANT
|
|||
|
||||
ARCH_FLAG_PPC = -arch ppc
|
||||
ARCH_FLAG_X86 = -arch i386
|
||||
ARCH_FLAG_X86_64 = -arch x86_64
|
||||
|
||||
INSTALL_DIR_PPC = ../os/$(OS)/$(ARCH_PPC)
|
||||
INSTALL_DIR_X86 = ../os/$(OS)/$(ARCH_X86)
|
||||
INSTALL_DIR_X86_64 = ../os/$(OS)/$(ARCH_X86_64)
|
||||
|
||||
LIB_NAME_SPAWNER = libspawner.dylib
|
||||
LIB_NAME_FULL_SPAWNER_PPC = $(INSTALL_DIR_PPC)/libspawner.jnilib
|
||||
LIB_NAME_FULL_SPAWNER_X86 = $(INSTALL_DIR_X86)/libspawner.jnilib
|
||||
LIB_NAME_FULL_SPAWNER_X86_64 = $(INSTALL_DIR_X86_64)/libspawner.jnilib
|
||||
OBJS_SPAWNER_PPC = spawner_$(ARCH_PPC).o \
|
||||
io_$(ARCH_PPC).o \
|
||||
exec_unix_$(ARCH_PPC).o \
|
||||
|
@ -39,22 +55,33 @@ OBJS_SPAWNER_X86 = spawner_$(ARCH_X86).o \
|
|||
exec_pty_$(ARCH_X86).o \
|
||||
openpty_$(ARCH_X86).o \
|
||||
pfind_$(ARCH_X86).o
|
||||
OBJS_SPAWNER_X86_64 = spawner_$(ARCH_X86_64).o \
|
||||
io_$(ARCH_X86_64).o \
|
||||
exec_unix_$(ARCH_X86_64).o \
|
||||
exec_pty_$(ARCH_X86_64).o \
|
||||
openpty_$(ARCH_X86_64).o \
|
||||
pfind_$(ARCH_X86_64).o
|
||||
|
||||
LIB_NAME_PTY = libpty.so
|
||||
LIB_NAME_FULL_PTY_PPC = $(INSTALL_DIR_PPC)/libpty.jnilib
|
||||
LIB_NAME_FULL_PTY_X86 = $(INSTALL_DIR_X86)/libpty.jnilib
|
||||
LIB_NAME_FULL_PTY_X86_64 = $(INSTALL_DIR_X86_64)/libpty.jnilib
|
||||
OBJS_PTY_PPC = openpty_$(ARCH_PPC).o pty_$(ARCH_PPC).o ptyio_$(ARCH_PPC).o
|
||||
OBJS_PTY_X86 = openpty_$(ARCH_X86).o pty_$(ARCH_X86).o ptyio_$(ARCH_X86).o
|
||||
OBJS_PTY_X86_64 = openpty_$(ARCH_X86_64).o pty_$(ARCH_X86_64).o ptyio_$(ARCH_X86_64).o
|
||||
|
||||
OBJS_PPC = $(OBJS_SPAWNER_PPC) $(OBJS_PTY_PPC)
|
||||
OBJS_X86 = $(OBJS_SPAWNER_X86) $(OBJS_PTY_X86)
|
||||
OBJS_X86_64 = $(OBJS_SPAWNER_X86_64) $(OBJS_PTY_X86_64)
|
||||
|
||||
all: ppc x86
|
||||
all: ppc x86 x86_64
|
||||
|
||||
ppc: $(LIB_NAME_FULL_SPAWNER_PPC) $(LIB_NAME_FULL_PTY_PPC)
|
||||
|
||||
x86: $(LIB_NAME_FULL_SPAWNER_X86) $(LIB_NAME_FULL_PTY_X86)
|
||||
|
||||
x86_64: $(LIB_NAME_FULL_SPAWNER_X86_64) $(LIB_NAME_FULL_PTY_X86_64)
|
||||
|
||||
rebuild: clean all
|
||||
|
||||
$(LIB_NAME_FULL_SPAWNER_PPC) : $(OBJS_SPAWNER_PPC)
|
||||
|
@ -65,6 +92,10 @@ $(LIB_NAME_FULL_SPAWNER_X86) : $(OBJS_SPAWNER_X86)
|
|||
mkdir -p $(INSTALL_DIR_X86)
|
||||
$(CC) -dynamiclib $(ARCH_FLAG_X86) -o $(LIB_NAME_FULL_SPAWNER_X86) $(OBJS_SPAWNER_X86) -lc -framework JavaVM
|
||||
|
||||
$(LIB_NAME_FULL_SPAWNER_X86_64) : $(OBJS_SPAWNER_X86_64)
|
||||
mkdir -p $(INSTALL_DIR_X86_64)
|
||||
$(CC) -dynamiclib $(ARCH_FLAG_X86_64) -o $(LIB_NAME_FULL_SPAWNER_X86_64) $(OBJS_SPAWNER_X86_64) -lc -framework JavaVM
|
||||
|
||||
$(LIB_NAME_FULL_PTY_PPC): $(OBJS_PTY_PPC)
|
||||
mkdir -p $(INSTALL_DIR_PPC)
|
||||
$(CC) -dynamiclib $(ARCH_FLAG_PPC) -o $(LIB_NAME_FULL_PTY_PPC) $(OBJS_PTY_PPC) -lc -framework JavaVM
|
||||
|
@ -73,6 +104,10 @@ $(LIB_NAME_FULL_PTY_X86): $(OBJS_PTY_X86)
|
|||
mkdir -p $(INSTALL_DIR_X86)
|
||||
$(CC) -dynamiclib $(ARCH_FLAG_X86) -o $(LIB_NAME_FULL_PTY_X86) $(OBJS_PTY_X86) -lc -framework JavaVM
|
||||
|
||||
$(LIB_NAME_FULL_PTY_X86_64): $(OBJS_PTY_X86_64)
|
||||
mkdir -p $(INSTALL_DIR_X86_64)
|
||||
$(CC) -dynamiclib $(ARCH_FLAG_X86_64) -o $(LIB_NAME_FULL_PTY_X86_64) $(OBJS_PTY_X86_64) -lc -framework JavaVM
|
||||
|
||||
spawner_$(ARCH_PPC).o: spawner.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ spawner.c
|
||||
|
||||
|
@ -118,15 +153,37 @@ openpty_$(ARCH_X86).o: openpty.c
|
|||
pfind_$(ARCH_X86).o: pfind.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ pfind.c
|
||||
|
||||
openpty_$(ARCH_X86).o: openpty.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ openpty.c
|
||||
|
||||
pty_$(ARCH_X86).o: pty.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ pty.c
|
||||
|
||||
ptyio_$(ARCH_X86).o: ptyio.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ ptyio.c
|
||||
|
||||
spawner_$(ARCH_X86_64).o: spawner.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ spawner.c
|
||||
|
||||
io_$(ARCH_X86_64).o: io.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ io.c
|
||||
|
||||
exec_unix_$(ARCH_X86_64).o: exec_unix.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ exec_unix.c
|
||||
|
||||
exec_pty_$(ARCH_X86_64).o: exec_pty.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ exec_pty.c
|
||||
|
||||
openpty_$(ARCH_X86_64).o: openpty.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ openpty.c
|
||||
|
||||
pfind_$(ARCH_X86_64).o: pfind.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ pfind.c
|
||||
|
||||
pty_$(ARCH_X86_64).o: pty.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ pty.c
|
||||
|
||||
ptyio_$(ARCH_X86_64).o: ptyio.c
|
||||
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ ptyio.c
|
||||
|
||||
clean :
|
||||
$(RM) $(OBJS_PPC) $(LIB_NAME_FULL_SPAWNER_PPC) $(LIB_NAME_FULL_SPAWNER_X86)
|
||||
$(RM) $(OBJS_X86) $(LIB_NAME_FULL_PTY_PPC) $(LIB_NAME_FULL_PTY_X86)
|
||||
$(RM) $(OBJS_PPC) $(LIB_NAME_FULL_SPAWNER_PPC) $(LIB_NAME_FULL_PTY_PPC)
|
||||
$(RM) $(OBJS_X86) $(LIB_NAME_FULL_SPAWNER_X86) $(LIB_NAME_FULL_PTY_X86)
|
||||
$(RM) $(OBJS_X86_64) $(LIB_NAME_FULL_SPAWNER_X86_64) $(LIB_NAME_FULL_PTY_X86_64)
|
||||
|
|
BIN
core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib
Normal file
BIN
core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Add table
Reference in a new issue