forked from pool/dynamips
3b01ba83a8
- fix ppc and ppc64 builds OBS-URL: https://build.opensuse.org/request/show/110580 OBS-URL: https://build.opensuse.org/package/show/Education/dynamips?expand=0&rev=11
215 lines
6.5 KiB
Diff
215 lines
6.5 KiB
Diff
Index: dynamips-0.2.8-RC3/Makefile
|
|
===================================================================
|
|
--- dynamips-0.2.8-RC3.orig/Makefile
|
|
+++ dynamips-0.2.8-RC3/Makefile
|
|
@@ -5,11 +5,28 @@
|
|
# - Use "amd64" for a build on x86_64 (64-bits)
|
|
# - Use "ppc32" for a build on powerpc (32-bits)
|
|
# - Use "nojit" for unsupported architectures.
|
|
-export DYNAMIPS_ARCH?=x86
|
|
-
|
|
-# Do you want to use lib (for 32 bit compiling) or lib64
|
|
-export DYNAMIPS_LIB?=lib
|
|
-#export DYNAMIPS_LIB?=lib64
|
|
+ifeq ($(shell uname -m),i*86)
|
|
+DYNAMIPS_ARCH?=x86
|
|
+else
|
|
+ifeq ($(shell uname -m),x86_64)
|
|
+DYNAMIPS_ARCH?=amd64
|
|
+else
|
|
+DYNAMIPS_ARCH?=nojit
|
|
+endif
|
|
+endif
|
|
+
|
|
+ifeq ($(shell uname -m),x86_64)
|
|
+DYNAMIPS_LIB?=lib64
|
|
+LIBDIR?=/usr/lib64
|
|
+else
|
|
+ifeq ($(shell uname -m),ppc64)
|
|
+DYNAMIPS_LIB?=lib64
|
|
+LIBDIR?=/usr/lib64
|
|
+else
|
|
+DYNAMIPS_LIB?=lib
|
|
+LIBDIR?=/usr/lib
|
|
+endif
|
|
+endif
|
|
|
|
# For MAC x64 you can compile the "unstable" version, which should work
|
|
# fine, or use stable if you prefer.
|
|
@@ -33,8 +50,6 @@ export VERSION_TRAIN=0.2.8
|
|
export VERSION_SUB=-RC3
|
|
|
|
# Executable binary extension
|
|
-export DESTDIR?=/usr
|
|
-export BIN_EXT?=
|
|
|
|
|
|
.PHONY: all dynamips.stable dynamips.unstable
|
|
@@ -50,13 +65,13 @@ dynamips.unstable:
|
|
|
|
install: dynamips.$(DYNAMIPS_CODE)
|
|
@echo "Installing"
|
|
- install -d $(DESTDIR)/bin $(DESTDIR)/man/man1 $(DESTDIR)/man/man7 $(DESTDIR)/etc
|
|
+ install -d $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/man/man1 $(DESTDIR)/usr/share/man/man7 $(DESTDIR)/etc
|
|
cp dynamips.$(DYNAMIPS_CODE) dynamips
|
|
- install dynamips $(DYNAMIPS_CODE)/nvram_export $(DESTDIR)/bin/
|
|
+ install dynamips $(DYNAMIPS_CODE)/nvram_export $(DESTDIR)/usr/bin/
|
|
rm -f dynamips
|
|
- install -m644 dynamips.1 $(DESTDIR)/man/man1
|
|
- install -m644 nvram_export.1 $(DESTDIR)/man/man1
|
|
- install -m644 hypervisor_mode.7 $(DESTDIR)/man/man7
|
|
+ install -m644 dynamips.1 $(DESTDIR)/usr/share/man/man1
|
|
+ install -m644 nvram_export.1 $(DESTDIR)/usr/share/man/man1
|
|
+ install -m644 hypervisor_mode.7 $(DESTDIR)/usr/share/man/man7
|
|
|
|
|
|
.PHONY: clean
|
|
Index: dynamips-0.2.8-RC3/stable/Makefile
|
|
===================================================================
|
|
--- dynamips-0.2.8-RC3.orig/stable/Makefile
|
|
+++ dynamips-0.2.8-RC3/stable/Makefile
|
|
@@ -3,15 +3,28 @@
|
|
|
|
# Replace x86 by amd64 for a build on x86_64.
|
|
# Use "nojit" for architectures that are not x86 or x86_64.
|
|
+ifeq ($(shell uname -m),i*86)
|
|
DYNAMIPS_ARCH?=x86
|
|
-#DYNAMIPS_ARCH?=amd64
|
|
-
|
|
-ifeq ($(DYNAMIPS_ARCH),ppc32)
|
|
-DYNAMIPS_ARCH=x86
|
|
+else
|
|
+ifeq ($(shell uname -m),x86_64)
|
|
+DYNAMIPS_ARCH?=amd64
|
|
+else
|
|
+DYNAMIPS_ARCH?=nojit
|
|
+endif
|
|
endif
|
|
|
|
-# Do you want to use lib (for 32 bit compiling) or lib64
|
|
+ifeq ($(shell uname -m),x86_64)
|
|
+DYNAMIPS_LIB?=lib64
|
|
+LIBDIR?=/usr/lib64
|
|
+else
|
|
+ifeq ($(shell uname -m),ppc64)
|
|
+DYNAMIPS_LIB?=lib64
|
|
+LIBDIR?=/usr/lib64
|
|
+else
|
|
DYNAMIPS_LIB?=lib
|
|
+LIBDIR?=/usr/lib
|
|
+endif
|
|
+endif
|
|
|
|
|
|
# Get include files from the current directory and from the common directory
|
|
@@ -38,8 +51,6 @@ VERSION_DEV=$(VERSION_TRAIN)-$(shell dat
|
|
VPATH = ../common
|
|
|
|
# Executable binary extension
|
|
-DESTDIR?=/usr
|
|
-BIN_EXT?=
|
|
|
|
CC?=gcc
|
|
LD=ld
|
|
@@ -51,7 +62,7 @@ MIPS64_ARCH_INC_FILE=\"mips64_$(DYNAMIPS
|
|
PPC32_ARCH_INC_FILE=\"ppc32_$(DYNAMIPS_ARCH)_trans.h\"
|
|
OSNAME=unknown
|
|
|
|
-CFLAGS+= $(INCLUDE) -Wall -O3 -fomit-frame-pointer \
|
|
+CFLAGS+= $(INCLUDE) -Wall -fomit-frame-pointer \
|
|
-DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" -DJIT_CPU=CPU_$(DYNAMIPS_ARCH) \
|
|
-DMIPS64_ARCH_INC_FILE=$(MIPS64_ARCH_INC_FILE) \
|
|
-DPPC32_ARCH_INC_FILE=$(PPC32_ARCH_INC_FILE) \
|
|
@@ -73,11 +84,11 @@ ifeq ($(shell uname), FreeBSD)
|
|
else
|
|
ifeq ($(shell uname), Linux)
|
|
PTHREAD_LIBS?=-lpthread
|
|
-# PCAP_LIB=-lpcap
|
|
+ PCAP_LIB=-lpcap
|
|
OSNAME=Linux
|
|
CFLAGS+=-I/usr/include -I. $(PTHREAD_CFLAGS)
|
|
- LIBS=-L/usr/lib -L. -ldl -luuid /usr/$(DYNAMIPS_LIB)/libelf.a $(PTHREAD_LIBS)
|
|
- DESTDIR=/usr
|
|
+ LIBS=-L/$(LIBDIR) -L. -ldl -luuid -lelf $(PTHREAD_LIBS)
|
|
+# DESTDIR=/usr
|
|
else
|
|
ifeq ($(shell uname -s), Darwin)
|
|
OSNAME=Darwin
|
|
@@ -103,7 +114,7 @@ ifeq ($(shell uname -o), Cygwin)
|
|
PCAP_LIB=-lpacket -lwpcap
|
|
else
|
|
CFLAGS+=-I/usr/include/libelf -D_FILE_OFFSET_BITS=64
|
|
- LIBS=-L. -ldl /usr/lib/libelf.a -lpthread
|
|
+ LIBS=-L. -ldl $(LIBDIR)/libelf.a -lpthread
|
|
endif
|
|
endif
|
|
endif
|
|
@@ -247,29 +258,29 @@ all: $(PROG) nvram_export
|
|
$(PROG): mips64_microcode_dump.inc ppc32_microcode_dump.inc \
|
|
$(LEX_C) $(C_OBJS) $(A_OBJS)
|
|
@echo "Linking $@"
|
|
- @$(CC) $(CFLAGS) -o $@ $(C_OBJS) $(A_OBJS) $(LIBS)
|
|
+ $(CC) $(CFLAGS) -o $@ $(C_OBJS) $(A_OBJS) $(LIBS)
|
|
|
|
udp_send$(BIN_EXT): udp_send.c net.c crc.c
|
|
@echo "Linking $@"
|
|
- @$(CC) -Wall $(CFLAGS) -o $@ udp_send.c net.c crc.c $(LIBS)
|
|
+ $(CC) -Wall $(CFLAGS) -o $@ udp_send.c net.c crc.c $(LIBS)
|
|
|
|
udp_recv$(BIN_EXT): udp_recv.c net.c crc.c
|
|
@echo "Linking $@"
|
|
- @$(CC) -Wall $(CFLAGS) -o $@ udp_recv.c net.c crc.c $(LIBS)
|
|
+ $(CC) -Wall $(CFLAGS) -o $@ udp_recv.c net.c crc.c $(LIBS)
|
|
|
|
rom2c$(BIN_EXT): rom2c.c
|
|
@echo "Linking $@"
|
|
- @$(CC) -Wall $(CFLAGS) -o $@ $< $(LIBS)
|
|
+ $(CC) -Wall $(CFLAGS) -o $@ $< $(LIBS)
|
|
|
|
mips64_microcode_dump.inc: rom2c$(BIN_EXT) mips64_microcode
|
|
- @./rom2c mips64_microcode mips64_microcode_dump.inc 0xbfc00000
|
|
+ ./rom2c mips64_microcode mips64_microcode_dump.inc 0xbfc00000
|
|
|
|
ppc32_microcode_dump.inc: rom2c$(BIN_EXT) ppc32_microcode
|
|
- @./rom2c ppc32_microcode ppc32_microcode_dump.inc 0xfff00000
|
|
+ ./rom2c ppc32_microcode ppc32_microcode_dump.inc 0xfff00000
|
|
|
|
asmdefs$(BIN_EXT): asmdefs.c mips64.h
|
|
@echo "Linking $@"
|
|
- @$(CC) -Wall $(CFLAGS) -o $@ asmdefs.c
|
|
+ $(CC) -Wall $(CFLAGS) -o $@ asmdefs.c
|
|
|
|
asmdefs.h: asmdefs$(BIN_EXT)
|
|
@echo "Building assembly definitions header file"
|
|
@@ -281,11 +292,11 @@ nvram_export$(BIN_EXT): nvram_export.c
|
|
|
|
install: $(PROG) nvram_export
|
|
@echo "Installing"
|
|
- install -d $(DESTDIR)/bin $(DESTDIR)/man/man1 $(DESTDIR)/man/man7 $(DESTDIR)/etc
|
|
- install dynamips nvram_export $(DESTDIR)/bin
|
|
- install -m644 dynamips.1 $(DESTDIR)/man/man1
|
|
- install -m644 nvram_export.1 $(DESTDIR)/man/man1
|
|
- install -m644 hypervisor_mode.7 $(DESTDIR)/man/man7
|
|
+ install -d $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/man/man1 $(DESTDIR)/usr/shareman/man7 $(DESTDIR)/etc
|
|
+ install dynamips nvram_export $(DESTDIR)/usr/bin
|
|
+ install -m644 dynamips.1 $(DESTDIR)/usr/share/man/man1
|
|
+ install -m644 nvram_export.1 $(DESTDIR)/usr/share/man/man1
|
|
+ install -m644 hypervisor_mode.7 $(DESTDIR)/usr/share/man/man7
|
|
# install -m644 example $(DESTDIR)/etc/dynamips
|
|
|
|
|
|
@@ -312,11 +323,11 @@ packdev:
|
|
|
|
.S.o:
|
|
@echo "Assembling $<"
|
|
- @$(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $<
|
|
+ $(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $<
|
|
|
|
.c.o:
|
|
@echo "Compiling $<"
|
|
- @$(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $<
|
|
+ $(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $<
|
|
|
|
.l.c:
|
|
$(LEX) -o$*.c $<
|