[M3commit] [modula3/cm3] 4f232e: Lots of new bindings in package llvmbindings -- un...

Rodney Bates rodney.m.bates at acm.org
Wed Jul 29 22:47:11 CEST 2015

  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: 4f232e33c91f71c8f6bc603d319c8e7e24ae86ec
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2015-07-29 (Wed, 29 Jul 2015)

  Changed paths:
    M m3-sys/llvmbindings/src/LLVM.i3
    A m3-sys/llvmbindings/src/LLVMTypes.i3
    A m3-sys/llvmbindings/src/M3DIBuilder.cpp
    A m3-sys/llvmbindings/src/M3DIBuilder.h
    A m3-sys/llvmbindings/src/M3DIBuilder.i3
    M m3-sys/llvmbindings/src/M3Extras.cpp
    M m3-sys/llvmbindings/src/M3Extras.h
    M m3-sys/llvmbindings/src/Makefile
    M m3-sys/llvmbindings/src/README
    M m3-sys/llvmbindings/src/m3makefile

  Log Message:
  Lots of new bindings in package llvmbindings -- untested.

Gather bits and pieces of several existing bindings to llvm in
one Modula-3 package.  Add a complete binding to DIBuilder,
updated to llvm 3.6.1.

Unless you are developing the llvm-derived backend, you should have
no need to build this package.  The C/C++ parts have been built
sucessfully with gcc 4.8.1 and clang 3.4.2. As committed,
Makefile is set to call gcc.

These bindings have to be linked to a compiled llvm infrastructure
of the appropriate version.  This takes *hours* to build.  (If you
thought compiling the gcc-derived back end was slow compared to
compiling Modula-3 code, you ain't seen nothin'.)  It is
premature to require all Modula-3 users to do this, either as
separate steps or with a copy of llvm copied into the M3
distribution.  So for now, the m3makefile has some hard-coded
references to llvm things.  You will surely have to edit these
to build this package, after having built llvm.  See comments
in m3makefile.

Between a bug in cm3's import_obj from the build directory and
lack of support running C++ in the cm3 build system, it was
necessary to build the C/C++ components in the src directory,
despite their being target-dependent.  Fix this someday.

See README for more information.

 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)

	modified:   LLVM.i3
	new file:   LLVMTypes.i3
	new file:   M3DIBuilder.cpp
	new file:   M3DIBuilder.h
	new file:   M3DIBuilder.i3
	modified:   M3Extras.cpp
	modified:   M3Extras.h
	modified:   Makefile
	modified:   README
	modified:   m3makefile

More information about the M3commit mailing list