c169024680
This is a huge port. It probably should be split into several separate ports, but Modula-3's lack of popularity doesn't justify the large effort that would require yet. This port will download a "bootstrap" compiler which builds a fresh compiler and small set of core components. The fresh compiler will then build everything else. This includes, among other things: * CM3 Integrated Development Environment (IDE) * CM3 Code Generator based on gcc 4.3 * CM3 Middle- and back- ends * CVSup (CM3 is too new to build the CVSUP already in ports) * M3 GDB (GNU Debugger) * M3 GUI and networking support * M3 Quake * some demos * many examples * many CM3 tools * Oblique * Caltech Parser toolset * Full M3 library * Lots of documentation and man pages Intentionally left out for now: six (6) games, three (3) webdev progs, kate (gui), sgml+deepcopy (devlib), pp (m3devtool) This is the latest release of the Critical Mass Modula-3 (CM3) collection, version 5.8.6, and it was released in July 2010. Days were spent developing this port, but not so much time was developed to quality assurance. I added a "recent" patch from upstream for network concurrency and also modified the getaddrbyname implementation as the original one raised IPError exceptions due to my VM not having a fully qualified hostname and external IP address. My modification makes the exception look up hostent with 127.0.0.1 first, then raise a new exception on error. It seems to work, but like I said, it was not heavily tested. Most of the programs require a running X (Trestle), which I don't have at the moment, so they stop with an appropriate raised exception. I only assume they work, I'll have to check later. Right now only FreeBSD AMD64 is supported. I do not expect to attempt to support FreeBSD i386. I will probably make an attempt to cross-compile this on DragonFly x86-64 after appropriate patches are added. A few months ago I nearly succeeded in porting CM3 to DragonFly and I expect to succeed on the next attempt. If other platforms are desired, somebody else will have to create bootstraps and any necessary patches. This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and libpthread are dynamically loaded so it should build fine on FreeBSD 8.4. I don't have access to my Redports repository ATM so I can't test FreeBSD 10+, but I will attempt to fix should it fail to build on those platforms. Hopefully someone will find this port useful. I was surprised that apparently the full Modula-3 compiler set has never been ported to FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice language that probably deserved to be widely used outside of academia.
379 lines
8.4 KiB
Makefile
379 lines
8.4 KiB
Makefile
# $FreeBSD$
|
|
#
|
|
|
|
COMMENT = Programming languages
|
|
|
|
SUBDIR += Gofer
|
|
SUBDIR += STk
|
|
SUBDIR += Sather
|
|
SUBDIR += abcl
|
|
SUBDIR += adacontrol
|
|
SUBDIR += afnix
|
|
SUBDIR += algol68g
|
|
SUBDIR += alisp
|
|
SUBDIR += angelscript
|
|
SUBDIR += arena
|
|
SUBDIR += asis
|
|
SUBDIR += asn1c
|
|
SUBDIR += atlast
|
|
SUBDIR += ats
|
|
SUBDIR += awka
|
|
SUBDIR += bas2tap
|
|
SUBDIR += basic256
|
|
SUBDIR += bf2c
|
|
SUBDIR += bigloo
|
|
SUBDIR += bsh
|
|
SUBDIR += bwbasic
|
|
SUBDIR += caml-light
|
|
SUBDIR += ccl
|
|
SUBDIR += cdent
|
|
SUBDIR += cduce
|
|
SUBDIR += cfortran
|
|
SUBDIR += chicken
|
|
SUBDIR += cint
|
|
SUBDIR += clang-devel
|
|
SUBDIR += clang31
|
|
SUBDIR += clang32
|
|
SUBDIR += clang33
|
|
SUBDIR += clang34
|
|
SUBDIR += clay
|
|
SUBDIR += clisp
|
|
SUBDIR += clojure
|
|
SUBDIR += clojure-contrib
|
|
SUBDIR += clojure-mode.el
|
|
SUBDIR += cmucl
|
|
SUBDIR += cmucl-extra
|
|
SUBDIR += cocor
|
|
SUBDIR += cparser
|
|
SUBDIR += csharp-mode.el
|
|
SUBDIR += cython
|
|
SUBDIR += dice
|
|
SUBDIR += diveintopython
|
|
SUBDIR += dlv
|
|
SUBDIR += dmd
|
|
SUBDIR += dmd2
|
|
SUBDIR += dragonegg-devel46
|
|
SUBDIR += dragonegg46-33
|
|
SUBDIR += dragonegg47-33
|
|
SUBDIR += ecl
|
|
SUBDIR += elan
|
|
SUBDIR += elk
|
|
SUBDIR += emacs-lisp-intro
|
|
SUBDIR += embryo
|
|
SUBDIR += erlang
|
|
SUBDIR += erlang-runtime15
|
|
SUBDIR += erlang-runtime16
|
|
SUBDIR += execline
|
|
SUBDIR += expect
|
|
SUBDIR += expect-devel
|
|
SUBDIR += ezm3
|
|
SUBDIR += f2c
|
|
SUBDIR += f77
|
|
SUBDIR += fasm
|
|
SUBDIR += fbbi
|
|
SUBDIR += ferite
|
|
SUBDIR += ficl
|
|
SUBDIR += fpc
|
|
SUBDIR += fpc-base
|
|
SUBDIR += fpc-docs
|
|
SUBDIR += fpc-lua
|
|
SUBDIR += fpc-rexx
|
|
SUBDIR += fpc-tcl
|
|
SUBDIR += fpc-units
|
|
SUBDIR += fpc-utils
|
|
SUBDIR += fsharp
|
|
SUBDIR += g95
|
|
SUBDIR += gambit-c
|
|
SUBDIR += gauche
|
|
SUBDIR += gawk
|
|
SUBDIR += gcc
|
|
SUBDIR += gcc-aux
|
|
SUBDIR += gcc-ecj45
|
|
SUBDIR += gcc34
|
|
SUBDIR += gcc44
|
|
SUBDIR += gcc46
|
|
SUBDIR += gcc47
|
|
SUBDIR += gcc48
|
|
SUBDIR += gcc49
|
|
SUBDIR += gcl
|
|
SUBDIR += gforth
|
|
SUBDIR += ghc
|
|
SUBDIR += gjs
|
|
SUBDIR += gnat
|
|
SUBDIR += gnat-aux
|
|
SUBDIR += gnat_util
|
|
SUBDIR += gnatdroid-armv5
|
|
SUBDIR += gnatdroid-armv7
|
|
SUBDIR += gnatdroid-binutils
|
|
SUBDIR += gnatdroid-sysroot
|
|
SUBDIR += gnustep-base
|
|
SUBDIR += gnustep-guile
|
|
SUBDIR += go
|
|
SUBDIR += gprolog
|
|
SUBDIR += groovy
|
|
SUBDIR += gscheme
|
|
SUBDIR += guile
|
|
SUBDIR += harbour
|
|
SUBDIR += haskell-mode.el
|
|
SUBDIR += hiphop-php
|
|
SUBDIR += hla
|
|
SUBDIR += hope
|
|
SUBDIR += hs-brainfuck
|
|
SUBDIR += hs-epic
|
|
SUBDIR += hs-unlambda
|
|
SUBDIR += huc
|
|
SUBDIR += hugs
|
|
SUBDIR += icc
|
|
SUBDIR += ici
|
|
SUBDIR += icon
|
|
SUBDIR += ifc
|
|
SUBDIR += ikarus
|
|
SUBDIR += intel2gas
|
|
SUBDIR += intercal
|
|
SUBDIR += io
|
|
SUBDIR += ironpython
|
|
SUBDIR += itcl
|
|
SUBDIR += jakarta-commons-jelly
|
|
SUBDIR += jruby
|
|
SUBDIR += jython
|
|
SUBDIR += kawa
|
|
SUBDIR += klone
|
|
SUBDIR += kroc
|
|
SUBDIR += kturtle
|
|
SUBDIR += lafontaine
|
|
SUBDIR += libhx
|
|
SUBDIR += libjit
|
|
SUBDIR += libobjc2
|
|
SUBDIR += librep
|
|
SUBDIR += libstdc++_stldoc_3.4.0
|
|
SUBDIR += libstdc++_stldoc_4.2.2
|
|
SUBDIR += linux-f10-libg2c
|
|
SUBDIR += linux-f10-tcl85
|
|
SUBDIR += linux-j
|
|
SUBDIR += logo
|
|
SUBDIR += lua
|
|
SUBDIR += lua-mode.el
|
|
SUBDIR += lua52
|
|
SUBDIR += luajit
|
|
SUBDIR += lush
|
|
SUBDIR += malbolge
|
|
SUBDIR += maude
|
|
SUBDIR += mawk
|
|
SUBDIR += mdk
|
|
SUBDIR += metaocaml
|
|
SUBDIR += mit-scheme
|
|
SUBDIR += mixal
|
|
SUBDIR += ml-pnet
|
|
SUBDIR += mlton
|
|
SUBDIR += mmix
|
|
SUBDIR += modula3
|
|
SUBDIR += mono
|
|
SUBDIR += mono-basic
|
|
SUBDIR += moscow_ml
|
|
SUBDIR += mosh
|
|
SUBDIR += mpd
|
|
SUBDIR += mtasc
|
|
SUBDIR += munger
|
|
SUBDIR += nawk
|
|
SUBDIR += nbc
|
|
SUBDIR += nbfc
|
|
SUBDIR += neko
|
|
SUBDIR += nesasm
|
|
SUBDIR += newlisp
|
|
SUBDIR += newlisp-devel
|
|
SUBDIR += nhc98
|
|
SUBDIR += nickle
|
|
SUBDIR += nimrod
|
|
SUBDIR += nml
|
|
SUBDIR += nqc
|
|
SUBDIR += nwcc
|
|
SUBDIR += nx
|
|
SUBDIR += ocaml
|
|
SUBDIR += ocaml-autoconf
|
|
SUBDIR += ocaml-camlidl
|
|
SUBDIR += ocaml-doc
|
|
SUBDIR += ocaml-examples
|
|
SUBDIR += ocaml-mode.el
|
|
SUBDIR += ocaml-nox11
|
|
SUBDIR += ocs
|
|
SUBDIR += ofc
|
|
SUBDIR += ohugs
|
|
SUBDIR += onyx
|
|
SUBDIR += oo2c
|
|
SUBDIR += oorexx
|
|
SUBDIR += opa
|
|
SUBDIR += open-cobol
|
|
SUBDIR += opendylan
|
|
SUBDIR += otcl
|
|
SUBDIR += p2c
|
|
SUBDIR += p5-Data-JavaScript
|
|
SUBDIR += p5-Error
|
|
SUBDIR += p5-Expect
|
|
SUBDIR += p5-ExtUtils-F77
|
|
SUBDIR += p5-Interpolation
|
|
SUBDIR += p5-JSAN
|
|
SUBDIR += p5-JavaScript-SpiderMonkey
|
|
SUBDIR += p5-JavaScript-Squish
|
|
SUBDIR += p5-JavaScript-Value-Escape
|
|
SUBDIR += p5-List-MoreUtils
|
|
SUBDIR += p5-Marpa
|
|
SUBDIR += p5-Marpa-PP
|
|
SUBDIR += p5-Marpa-XS
|
|
SUBDIR += p5-Modern-Perl
|
|
SUBDIR += p5-Parse-Perl
|
|
SUBDIR += p5-Perl6-Subs
|
|
SUBDIR += p5-Pugs-Compiler-Rule
|
|
SUBDIR += p5-Quantum-Superpositions
|
|
SUBDIR += p5-Scalar-List-Utils
|
|
SUBDIR += p5-Switch
|
|
SUBDIR += p5-Tcl
|
|
SUBDIR += p5-Test-XPath
|
|
SUBDIR += p5-Try-Tiny
|
|
SUBDIR += p5-TryCatch
|
|
SUBDIR += p5-ePerl
|
|
SUBDIR += p5-signatures
|
|
SUBDIR += p5-v6
|
|
SUBDIR += parrot
|
|
SUBDIR += pbasic
|
|
SUBDIR += pcc
|
|
SUBDIR += pecl-perl
|
|
SUBDIR += perl5.12
|
|
SUBDIR += perl5.14
|
|
SUBDIR += perl5.16
|
|
SUBDIR += perl5.18
|
|
SUBDIR += petite-chez
|
|
SUBDIR += pfe
|
|
SUBDIR += phantomjs
|
|
SUBDIR += pharo
|
|
SUBDIR += phc
|
|
SUBDIR += php-mode.el
|
|
SUBDIR += php5
|
|
SUBDIR += php5-extensions
|
|
SUBDIR += php52
|
|
SUBDIR += php52-extensions
|
|
SUBDIR += php53
|
|
SUBDIR += php53-extensions
|
|
SUBDIR += php55
|
|
SUBDIR += php55-extensions
|
|
SUBDIR += php_doc
|
|
SUBDIR += picoc
|
|
SUBDIR += pike76
|
|
SUBDIR += pike78
|
|
SUBDIR += pnet
|
|
SUBDIR += pnet-base
|
|
SUBDIR += pnetlib
|
|
SUBDIR += polyml
|
|
SUBDIR += ptoc
|
|
SUBDIR += pure
|
|
SUBDIR += py-mx-base
|
|
SUBDIR += py-prolog
|
|
SUBDIR += pypy
|
|
SUBDIR += pypy-devel
|
|
SUBDIR += pypy3-devel
|
|
SUBDIR += python
|
|
SUBDIR += python2
|
|
SUBDIR += python3
|
|
SUBDIR += python-doc-html
|
|
SUBDIR += python-doc-pdf-a4
|
|
SUBDIR += python-doc-pdf-letter
|
|
SUBDIR += python-doc-text
|
|
SUBDIR += python-mode.el
|
|
SUBDIR += python26
|
|
SUBDIR += python27
|
|
SUBDIR += python31
|
|
SUBDIR += python32
|
|
SUBDIR += python33
|
|
SUBDIR += qore
|
|
SUBDIR += qscheme
|
|
SUBDIR += racket
|
|
SUBDIR += racket-textual
|
|
SUBDIR += rakudo
|
|
SUBDIR += ratfor
|
|
SUBDIR += rexx-imc
|
|
SUBDIR += rexx-regina
|
|
SUBDIR += rexx-regutil
|
|
SUBDIR += rexx-wrapper
|
|
SUBDIR += rhino
|
|
SUBDIR += rscheme
|
|
SUBDIR += rubinius
|
|
SUBDIR += ruby-doc-stdlib
|
|
SUBDIR += ruby-man
|
|
SUBDIR += ruby-programmingruby
|
|
SUBDIR += ruby-usersguide
|
|
SUBDIR += ruby19
|
|
SUBDIR += ruby20
|
|
SUBDIR += runawk
|
|
SUBDIR += rust
|
|
SUBDIR += s9fes
|
|
SUBDIR += sather-specification
|
|
SUBDIR += sather-tutorial
|
|
SUBDIR += sbcl
|
|
SUBDIR += scala
|
|
SUBDIR += scala-docs
|
|
SUBDIR += scheme48
|
|
SUBDIR += schemetoc
|
|
SUBDIR += scm
|
|
SUBDIR += scsh
|
|
SUBDIR += sdcc
|
|
SUBDIR += sdcc-devel
|
|
SUBDIR += see
|
|
SUBDIR += see-devel
|
|
SUBDIR += seed7
|
|
SUBDIR += siod
|
|
SUBDIR += sisc
|
|
SUBDIR += sketchy
|
|
SUBDIR += slib
|
|
SUBDIR += slib-guile
|
|
SUBDIR += slisp
|
|
SUBDIR += smalltalk
|
|
SUBDIR += sml-mode.el
|
|
SUBDIR += sml-nj
|
|
SUBDIR += sml-nj-devel
|
|
SUBDIR += snobol4
|
|
SUBDIR += spidermonkey17
|
|
SUBDIR += spidermonkey170
|
|
SUBDIR += spidermonkey185
|
|
SUBDIR += spidermonkey24
|
|
SUBDIR += spl
|
|
SUBDIR += squeak
|
|
SUBDIR += squirrel
|
|
SUBDIR += sr
|
|
SUBDIR += stalin
|
|
SUBDIR += starlogo
|
|
SUBDIR += stklos
|
|
SUBDIR += stldoc
|
|
SUBDIR += swi-pl
|
|
SUBDIR += sxm
|
|
SUBDIR += t3x
|
|
SUBDIR += tcc
|
|
SUBDIR += tcl-manual
|
|
SUBDIR += tcl-wrapper
|
|
SUBDIR += tcl84
|
|
SUBDIR += tcl85
|
|
SUBDIR += tcl86
|
|
SUBDIR += tclX
|
|
SUBDIR += tcltutor
|
|
SUBDIR += tinypy
|
|
SUBDIR += tolua
|
|
SUBDIR += tolua++
|
|
SUBDIR += treecc
|
|
SUBDIR += tuareg-mode.el
|
|
SUBDIR += twelf
|
|
SUBDIR += ucc
|
|
SUBDIR += urweb
|
|
SUBDIR += v8
|
|
SUBDIR += vala
|
|
SUBDIR += vala-vapigen
|
|
SUBDIR += visualworks
|
|
SUBDIR += whitespace
|
|
SUBDIR += x10
|
|
SUBDIR += xds
|
|
SUBDIR += xds-c
|
|
SUBDIR += xotcl
|
|
SUBDIR += yabasic
|
|
SUBDIR += yap
|
|
SUBDIR += yap-devel
|
|
SUBDIR += yorick
|
|
SUBDIR += ypsilon
|
|
|
|
.include <bsd.port.subdir.mk>
|