aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mpw-README25
-rw-r--r--mpw-build.in120
-rw-r--r--mpw-config.in2
-rw-r--r--mpw-configure31
4 files changed, 105 insertions, 73 deletions
diff --git a/mpw-README b/mpw-README
new file mode 100644
index 0000000..c762c9a
--- /dev/null
+++ b/mpw-README
@@ -0,0 +1,25 @@
+This is preliminary information about the Mac MPW port of the Cygnus tools.
+
+To build everything, create an object directory, setdirectory into it, and do:
+
+ ::src:mpw-configure --target <name> --srcdir ::src: --prefix <whatever>
+
+Then
+ mpw-build all
+
+will build everything, and
+
+ mpw-build install
+
+will install it.
+
+KNOWN BUGS
+
+ar rc xxx doesn't work.
+
+objdump -i idiocy where it creates dummy files.
+
+objcopy -O srec foo.o makes weird output filenames.
+
+Mac host requires -mgas but Unix hosts don't.
+
diff --git a/mpw-build.in b/mpw-build.in
index a581e62..c9ea70d 100644
--- a/mpw-build.in
+++ b/mpw-build.in
@@ -4,126 +4,108 @@ Set savedir "`Directory`"
#Set Echo 1
-Set thisscript "{0}"
-
-Set topsrcdir ":"
-
-Set srcdir ":"
+Set ThisScript "{0}"
Set objdir ":"
Set verify 0
-Set verifystr ""
Set BuildTarget "none"
-Set prefix "{Boot}"Cygnus:latest:
-
# Parse arguments.
Loop
Break If {#} == 0
- If "{1}" =~ /--srcdir/
- Set srcdir "{2}"
- Shift 1
- Else If "{1}" =~ /--topdir/
- Set topsrcdir "{2}"
- Shift 1
- Else If "{1}" =~ /--prefix/
- Set prefix "{2}"
- Shift 1
- Else If "{1}" =~ /-v/
- Set verify 1
- Set verifystr "-v"
- Shift 1
- Else
If "{BuildTarget}" =~ /none/
Set BuildTarget "{1}"
Else
Echo Only one build target allowed, ignoring "{1}"
End If
- End If
Shift 1
End Loop
-If "{BuildTarget}" =~ /all/
- "{thisscript}" all-ld
- "{thisscript}" all-gcc
- "{thisscript}" all-gdb
+If {verify} == 1
+ Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ...
+End If
+
+If "`Exists Makefile`" != ""
+ Echo "Set Echo 1" >{BuildTarget}.makeout
+ Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
+ {BuildTarget}.makeout
+ Delete {BuildTarget}.makeout
+Else If "{BuildTarget}" =~ /all/
+ "{ThisScript}" all-gcc
+ "{ThisScript}" all-ld
+ "{ThisScript}" all-gdb
Else If "{BuildTarget}" =~ /all-binutils/
- "{thisscript}" do-libiberty
- "{thisscript}" do-bfd
- "{thisscript}" do-opcodes
- "{thisscript}" do-binutils
+ "{ThisScript}" do-libiberty
+ "{ThisScript}" do-bfd
+ "{ThisScript}" do-opcodes
+ "{ThisScript}" do-binutils
Else If "{BuildTarget}" =~ /all-gas/
- "{thisscript}" do-libiberty
- "{thisscript}" do-bfd
- "{thisscript}" do-opcodes
- "{thisscript}" do-gas
+ "{ThisScript}" do-libiberty
+ "{ThisScript}" do-bfd
+ "{ThisScript}" do-opcodes
+ "{ThisScript}" do-gas
Else If "{BuildTarget}" =~ /all-gcc/
- "{thisscript}" all-gas
- "{thisscript}" do-gcc
+ "{ThisScript}" all-gas
+ "{ThisScript}" all-binutils
+ "{ThisScript}" do-gcc
Else If "{BuildTarget}" =~ /all-gdb/
- "{thisscript}" do-libiberty
- "{thisscript}" do-bfd
- "{thisscript}" do-opcodes
- "{thisscript}" do-gdb
+ "{ThisScript}" do-libiberty
+ "{ThisScript}" do-bfd
+ "{ThisScript}" do-opcodes
+ "{ThisScript}" do-gdb
Else If "{BuildTarget}" =~ /all-ld/
- "{thisscript}" do-libiberty
- "{thisscript}" do-bfd
- "{thisscript}" do-opcodes
- "{thisscript}" do-ld
+ "{ThisScript}" do-libiberty
+ "{ThisScript}" do-bfd
+ "{ThisScript}" do-opcodes
+ "{ThisScript}" do-ld
Else If "{BuildTarget}" =~ /do-bfd/
SetDirectory :bfd:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-libiberty/
SetDirectory :libiberty:
- BuildProgram all
-Else If "{BuildTarget}" =~ /do-mmalloc/
- SetDirectory :mmalloc:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-opcodes/
SetDirectory :opcodes:
- BuildProgram all
-Else If "{BuildTarget}" =~ /do-readline/
- SetDirectory :readline:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-binutils/
SetDirectory :binutils:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-gas/
SetDirectory :gas:
- :mpw-build all --prefix "{prefix}"
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-gcc/
SetDirectory :gcc:
- :mpw-build all --prefix "{prefix}"
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-gdb/
SetDirectory :gdb:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /do-ld/
SetDirectory :ld:
- BuildProgram all
+ ::mpw-build all
Else If "{BuildTarget}" =~ /install/
- "{thisscript}" install-binutils
- "{thisscript}" install-gas
- "{thisscript}" install-gcc
- "{thisscript}" install-gdb
- "{thisscript}" install-ld
+ "{ThisScript}" install-binutils
+ "{ThisScript}" install-gas
+ "{ThisScript}" install-gcc
+# "{ThisScript}" install-gdb
+ "{ThisScript}" install-ld
Else If "{BuildTarget}" =~ /install-binutils/
SetDirectory :binutils:
- :mpw-build install --prefix "{prefix}"
+ ::mpw-build install
Else If "{BuildTarget}" =~ /install-gas/
SetDirectory :gas:
- :mpw-build install --prefix "{prefix}"
+ ::mpw-build install
Else If "{BuildTarget}" =~ /install-gcc/
SetDirectory :gcc:
- :mpw-build install --prefix "{prefix}"
+ ::mpw-build install
Else If "{BuildTarget}" =~ /install-gdb/
SetDirectory :gdb:
- :mpw-build install --prefix "{prefix}"
+ ::mpw-build install
Else If "{BuildTarget}" =~ /install-ld/
SetDirectory :ld:
- :mpw-build install --prefix "{prefix}"
+ ::mpw-build install
Else
End If
diff --git a/mpw-config.in b/mpw-config.in
index c6f23b3..534644e 100644
--- a/mpw-config.in
+++ b/mpw-config.in
@@ -1,6 +1,6 @@
# Configuration fragment for Cygnus source tree.
-Set host_libs "mmalloc libiberty opcodes bfd readline"
+Set host_libs "libiberty opcodes bfd readline"
Set host_tools "byacc flex binutils ld gas gcc gdb"
diff --git a/mpw-configure b/mpw-configure
index 2875247..ddac26e 100644
--- a/mpw-configure
+++ b/mpw-configure
@@ -6,7 +6,7 @@ Set savedir "`Directory`"
#Set Echo 1
-Set thisscript "{0}"
+Set ThisScript "{0}"
Set srcroot "--------"
@@ -14,10 +14,14 @@ Set srcdir ":"
Set objdir ":"
+Set prefix ":"
+
Set hostalias "m68k-apple-mpw"
Set targetalias {hostalias}
+Set prefix "{Boot}"Cygnus:latest:
+
Set verify 0
Set verifystr ""
@@ -80,14 +84,32 @@ If "`Exists "{srcdir}"mpw-make.in`" != ""
Echo "srcroot = " {srcroot} >> "{objdir}"Makefile.tem
Echo "topsrcdir = " {srcroot} >> "{objdir}"Makefile.tem
Echo "srcdir = " {srcdir} >> "{objdir}"Makefile.tem
+ Echo "mpw_prefix = " {prefix} >> "{objdir}"Makefile.tem
Echo "target_canonical = " {target_canonical} >> "{objdir}"Makefile.tem
Echo "mdname = " {mdname} >> "{objdir}"Makefile.tem
Echo "EMUL = " {emulname} >> "{objdir}"Makefile.tem
+ Echo "ARCHDEFS = -d" {archname} >> "{objdir}"Makefile.tem
+ If "{tdepfiles}" != ""
+ Echo "TDEPFILES = " {tdepfiles} >> "{objdir}"Makefile.tem
+ End If
+ If "{tm_file}" != ""
+ Echo "TM_FILE = " {tm_file} >> "{objdir}"Makefile.tem
+ End If
+ If "{xdepfiles}" != ""
+ Echo "XDEPFILES = " {xdepfiles} >> "{objdir}"Makefile.tem
+ End If
+ If "{xm_file}" != ""
+ Echo "XM_FILE = " {xm_file} >> "{objdir}"Makefile.tem
+ End If
+ If "{nat_file}" != ""
+ Echo "NAT_FILE = " {nat_file} >> "{objdir}"Makefile.tem
+ End If
Echo "host_makefile_frag = " >> "{objdir}"Makefile.tem
Echo "target_makefile_frag = " >> "{objdir}"Makefile.tem
mpw-7to8 "{srcroot}"config:mpw-mh-mpw >>"{objdir}"Makefile.tem
mpw-7to8 "{srcdir}"mpw-make.in >>"{objdir}"Makefile.tem
- MoveIfChange "{objdir}"Makefile.tem "{objdir}"Makefile
+ mpw-edit-prefix "{objdir}"Makefile.tem >"{objdir}"Makefile.tem2
+ MoveIfChange "{objdir}"Makefile.tem2 "{objdir}"Makefile
If {verify} == 1
Echo Created Makefile in "`Directory`"
End If
@@ -97,11 +119,14 @@ If "`Exists "{srcdir}"mpw-build.in`" != ""
Echo "Set srcroot " {srcroot} > "{objdir}"mpw-build.tem
Echo "Set srcdir " {srcdir} >> "{objdir}"mpw-build.tem
Echo "Set target_canonical " {target_canonical} >> "{objdir}"mpw-build.tem
+ Echo "Set prefix " {prefix} >> "{objdir}"mpw-build.tem
mpw-7to8 "{srcdir}"mpw-build.in >>"{objdir}"mpw-build.tem
MoveIfChange "{objdir}"mpw-build.tem "{objdir}"mpw-build
If {verify} == 1
Echo Created mpw-build in "`Directory`"
End If
+Else
+ Echo '::mpw-build {1}' >"{objdir}"mpw-build
End If
For subdir In {configdirs}
@@ -117,7 +142,7 @@ For subdir In {configdirs}
NewFolder "{objdir}{subdir}"
End If
SetDirectory "{objdir}{subdir}:"
- "{thisscript}" --target "{target_canonical}" --srcdir "{srcdir}{subdir}:" --srcroot "{srcroot}" {verifystr}
+ "{ThisScript}" --target "{target_canonical}" --srcdir "{srcdir}{subdir}:" --srcroot "{srcroot}" --prefix "{prefix}" {verifystr}
SetDirectory "{savedir}"
End For