Skip to content

Commit

Permalink
import Bit-Vector 6.0-bin-MacOS from CPAN
Browse files Browse the repository at this point in the history
git-cpan-module:   Bit-Vector
git-cpan-version:  6.0-bin-MacOS
git-cpan-authorid: TWEGNER
git-cpan-file:     authors/id/T/TW/TWEGNER/Bit-Vector-6.0-bin-MacOS.tar.gz
  • Loading branch information
Thomas Wegner authored and schwern committed Dec 10, 2009
1 parent 829e95c commit 7561d9a
Show file tree
Hide file tree
Showing 19 changed files with 19,018 additions and 2 deletions.
9 changes: 8 additions & 1 deletion MANIFEST
Expand Up @@ -8,16 +8,23 @@ GNU_LGPL.txt
INSTALL.txt
MANIFEST
Makefile.PL
README.txt
MPW.WorkSheet(PPC)
MPW.WorkSheet(68K)
README.Mac
ToolBox.h
Vector.pm
Vector.pod
Vector.xs
Vector_68K.xs
examples/SetObject.pl
examples/benchmark.pl
examples/primes.pl
lib/Bit/Vector/Overload.pm
lib/Bit/Vector/Overload.pod
Mac_changed/MANIFEST
Mac_changed/README.txt
Mac_changed/ToolBox.h
Mac_changed/Vector.xs
t/00____version.t
t/01________new.t
t/02____destroy.t
Expand Down
125 changes: 125 additions & 0 deletions MPW.WorkSheet(68K)
@@ -0,0 +1,125 @@
# INSTRUCTIONS FOR BUILDING THE Bit::Vector CFM68K SHARED LIBRARY



# (1) Copy the Bit-Vector-6.0 folder from the expanded Bit-Vector-6.0.tar.gz archive into the
# :MacPerl_Src:perl:ext folder of the MacPerl source distribution.
#
# and then
#
# Set the current directory to the Bit-Vector-6.0 folder (via Directory menu).


# (2) Build the BitVector.o object file (with support for shared library model):

SC BitVector.c -o BitVector.o -sym off -w off -model cfmflat -d CFM68K






# (3) Set the MPW variable 'MPSrc' to the path to your MacPerl_Src folder, for example

Set MPSrc "MacintoshHD:MacPerl_Src" # (change the path accordingly)




# (4) Run the XSUBpp compiler for Vector_68K.xs

perl :::lib:ExtUtils:xsubpp -typemap :::lib:ExtUtils:typemap -typemap :typemap Vector_68K.xs >Vector.tc && Rename -y Vector.tc Vector.c






# (5) If you like, take a look at the resulting C source file Vector.c

open Vector.c





# (6) Compile Vector.c (with support for shared library model):


SC -w off -d __STD_C -d MULTIPLICITY �
-d MPW_HAS_BOOL �
-model cfmflat �
-i {MPSrc}: �
-i {MPSrc}:sfio:include: �
-i {MPSrc}:GUSI:include: �
-i {MPSrc}:perl: �
-i : �
-o Vector.c.o Vector.c




# (7) Link Vector.c.o as shared lib. Link against the BitVector.o object file from step (2)


ILink �
":Vector.c.o" �
BitVector.o �
"{CFM68KLibraries}NuMathLib.o" �
"{SharedLibraries}StdCLib" �
"{SharedLibraries}InterfaceLib" �
"{CFM68KLibraries}NuMacRuntime.o" �
"{CFM68KLibraries}NuToolLibs.o" �
{MPSrc}:perl:PerlStub �
-sym off �
-mf -d �
-model cfmflat �
-xm sharedlibrary �
-fragname Vector �
-export boot_Bit__Vector �
-state rewrite �
-compact -pad 0 �
-o Vector.shlb.CFM68K




# (8) Rename shared lib temporary

Rename -y Vector.shlb.CFM68K Vector.shlb.CFM68K.tmp




# (9) Flatten the segmented shared library created by ILink

MakeFlat Vector.shlb.CFM68K.tmp -o Vector.shlb.CFM68K





# (10) Set the file type and creator of Vector.shlb.CFM68K

SetFile -t 'shlb' -c 'cfmg' Vector.shlb.CFM68K




# (11) Delete the temporary file

Delete -y Vector.shlb.CFM68K.tmp



# (12) Rename the shared library 'Vector.shlb.CFM68K' to 'Vector'

Rename -y Vector.shlb.CFM68K Vector






# Done. The shared library 'Vector' must be installed in the ':site_perl:MacCFM68K:auto:Bit:Vector' folder.

96 changes: 96 additions & 0 deletions MPW.WorkSheet(PPC)
@@ -0,0 +1,96 @@
# INSTRUCTIONS FOR BUILDING THE Bit::Vector PPC SHARED LIBRARY



# (1) Copy the Bit-Vector-6.0 folder from the expanded Bit-Vector-6.0.tar.gz archive into the
# :MacPerl_Src:perl:ext folder of the MacPerl source distribution.
#
# and then
#
# Set the current directory to the Bit-Vector-6.0 folder (via Directory menu).


# (2) Build the BitVector.o object file

MrC BitVector.c -o :BitVector.o -sym off -w off -t





# (3) Set the MPW variable 'MPSrc' to the path to your MacPerl_Src folder, for example

Set MPSrc "MacintoshHD:MacPerl_Src" # (change the path accordingly)




# (4) Run the XSUBpp compiler for Vector.xs

perl :::lib:ExtUtils:xsubpp -typemap :::lib:ExtUtils:typemap -typemap :typemap Vector.xs >Vector.tc && Rename -y Vector.tc Vector.c




# (5) If you like, take a look at the resulting C source file Vector.c

open Vector.c



# (6) Compile Vector.c (with symbol export for shared lib):

MrC -inclpath ignoresys -sym off -d __STD_C -d MULTIPLICITY -w off -opt size -t -fatext �
-d MPW_HAS_BOOL �
-i {MPSrc}: �
-i {MPSrc}:sfio:include: �
-i {MPSrc}:GUSI:include: �
-i {MPSrc}:perl: �
-i : �
-shared_lib_export on �
-export_list Vector.exp "Vector".c
Compilation time: 86.281 seconds. 25200 lines.





# (7) Open the file which contains a list of the shared library's exported entry points (symbols).
# Delete every line except the last, which is:
#
# boot_Bit__Vector
#
# Be sure to save your changes.

open Vector.exp





# (8) Link Vector.c.ppc.o as shared lib. Link against the BitVector.o object file from step (2)


PPCLink -w -xm sharedlibrary -sym on -@export Vector.exp �
:Vector.c.ppc.o �
:BitVector.o �
{MPSrc}:perl:PerlStub �
{SharedLibraries}InterfaceLib �
{SharedLibraries}StdCLib �
{SharedLibraries}MathLib �
"{PPCLibraries}PPCCRuntime.o" �
-c 'cfmg' -t 'shlb' -fragname "Vector" -o Vector.shlb.PPC




# (9) Rename the shared library 'Vector.shlb.PPC' to 'Vector'

Rename -y Vector.shlb.PPC Vector




# Done. The shared library 'Vector' must be installed in the ':site_perl:MacPPC:auto:Bit:Vector' folder.


40 changes: 40 additions & 0 deletions Mac_changed/MANIFEST
@@ -0,0 +1,40 @@
Artistic.txt
BitVector.c
BitVector.h
CHANGES.txt
CREDITS.txt
GNU_GPL.txt
GNU_LGPL.txt
INSTALL.txt
MANIFEST
Makefile.PL
README.txt
ToolBox.h
Vector.pm
Vector.pod
Vector.xs
examples/SetObject.pl
examples/benchmark.pl
examples/primes.pl
lib/Bit/Vector/Overload.pm
lib/Bit/Vector/Overload.pod
t/00____version.t
t/01________new.t
t/02____destroy.t
t/03_operations.t
t/04__functions.t
t/05_____primes.t
t/06_____subset.t
t/07____compare.t
t/08_____resize.t
t/09_parameters.t
t/10__intervals.t
t/11______shift.t
t/12_____string.t
t/13__increment.t
t/14______empty.t
t/15________add.t
t/16___subtract.t
t/28__chunklist.t
t/30_overloaded.t
typemap
File renamed without changes.

0 comments on commit 7561d9a

Please sign in to comment.