[parrot/parrot] ea86d0: Revive pbc

GitHub noreply at github.com
Sat Sep 1 19:18:10 UTC 2012


  Branch: refs/heads/native_pbc
  Home:   https://github.com/parrot/parrot
  Commit: ea86d0f04a4486b1cb49bc27ded4675b575c82a2
      https://github.com/parrot/parrot/commit/ea86d0f04a4486b1cb49bc27ded4675b575c82a2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-09-01 (Sat, 01 Sep 2012)

  Changed paths:
    M PBC_COMPAT
    M compilers/opsc/Rules.mak
    M compilers/opsc/src/Ops/Emitter.pm
    M compilers/opsc/src/Ops/File.pm
    M config/auto/revision.pm
    M config/gen/config_h/config_h.in
    M config/gen/config_pm.pm
    M config/gen/config_pm/config_lib_pir.in
    M config/gen/makefiles/root.in
    M frontend/pbc_dump/main.c
    M include/parrot/oplib.h
    M include/parrot/oplib/core_ops.h
    M src/ops/core_ops.c
    M src/packfile/segments.c
    M src/pmc/oplib.pmc
    M src/pmc/packfile.pmc
    M t/compilers/opsc/06-opsfile.t
    M t/compilers/opsc/08-emitter.t
    M t/native_pbc/testdata/annotations.pir

  Log Message:
  -----------
  Revive pbc

The parrot utils could not load pbc compatible, but older pbc fils anymore
because opslib directories and the init function hardcoded the parrot version
(even with patch!) and not the PBC_COMPAT version.

Replaced all parrot version triples in the pbc format with the PBC version duple.
parrot utils can now load older but compatible pbc files (again).

Replaced the hardcoded version numbers with c preprocessor macros in the
bootstrapped opslib sources and headers, to be more independent and simplier
implementation. If the ops did not change, the ops do not need to get regenerated
anymore for each version bump.
The Ops::Emitter version method is not used anymore, since bootstrap-ops has
been simplified.

Sanified the Makefile by adding missing dependencies and do proper identation
for depends and commands. Prev. line-broken depends were not visually
indistuingishible from commands, and line-broken commands neither.

Store PBC_MAJOR and PBC_MINOR in the config hash, stored by auto::revision.

Bump PBC_COMPAT to 13.0, the opslib directories store now only two version
numbers, not three.





More information about the parrot-commits mailing list