File: README

package info (click to toggle)
libinline-perl 0.44-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 440 kB
  • ctags: 121
  • sloc: perl: 3,768; makefile: 38
file content (193 lines) | stat: -rw-r--r-- 7,494 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
INTRODUCTION:

Inline.pm - Write Perl subroutines in other programming languages.

Inline lets you write Perl subroutines in other programming languages 
like C, C++, Java, Python, Tcl and even Assembly. You don't need to 
compile anything. All the details are handled transparently so you 
can just run your Perl script like normal.

Example:

    use Inline::Files;
    use Inline C;
    print JAxH('Inline'), "\n";
    
    __C__
    SV* JAxH(char* x) {
        return newSVpvf ("Just Another %s Hacker",x);
    }
    
When run, this complete program prints:

    Just Another Inline Hacker

The one line version is:

    perl -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf("Just Another %s Hacker",x);}};print JAxH+Inline'

-------------------------------------------------------------------------------
FEATURES:

Inline version 0.44 is a semi-major release:
+ This version is intended to be backwards compatible with 0.43.
+ Fixed many bugs reported since 0.43
+ Sped up parsing of C with 'USING => ParseRegExp'
+ Added BUILD_NOISY and BUILD_TIMERS options
+ Use File::Spec for all path operations. First step in porting to all
  platforms.
+ Always call ILSM->validate()
+ Allow C++ modules to be written with Inline
+ New improved Inline::MakeMaker

Inline version 0.43 is a minor release:

+ Added XSMODE for using Inline directly with XS
+ Now works with *all* Perl release versions over 5.005 (5.005_02, etc)
+ Removed old deprecated funstionality
+ Works on Mac OS X
+ Added support for ILSMs who don't want to invoke a build
+ Added script's working directory to the #include path for C
+ Tighter integration between Inline::C and Inline::CPP
+ Bug fixes reported on the mailing list.

Inline version 0.42 is a minor release:

+ Applied a couple patches. Python and Tcl now install properly.

Inline version 0.41 is a minor release:

+ Added the AUTOWRAP feature for C
  - Inline can now create wrappers from C function *declarations* alone.
+ Made Inline::MakeMaker work correctly in nested Makefile.PL trees.
+ Fixed bug preventing other Inline::* modules from installing in some cases.
+ Fixed platform dependent CRLF issues.

Inline version 0.40 is a major upgrade. It includes:
+ Inline::MakeMaker
  + Rock solid support for writing CPAN extension modules
+ Short file names. 
  + No more _Inline/lib/auto/Foo_C_3cee729d1d942c6792ca5a741dc21879/Foo_C_3cee729d1d942c6792ca5a741dc21879.so
  + Now it's _Inline/lib/auto/Foo/Foo.so
+ Support for creating binary distributions.
  + Can even do it without shipping C source code.
+ Support for Damian Conway's Inline::Files
  + No more __END__ markers.
+ Safe new config and caching format.
  + Similar to Data::Denter format
+ New Inline-FAQ.pod.

Inline version 0.34 fixes 2 minor bugs:

+ Makefile.PL got confused on $Config::Config{cc} with full pathnames or flags
+ Makefile.PL/Makefile dependency caused a problem in one rare case.

Inline version 0.33 is a minor upgrade with the following changes:

+ Support for Inline::Struct and Inline::Filters
+ Added ENABLE and DISABLE configuration modifiers.
+ C installation is optional
+ Test harness reworked. Faster testing.
+ Fixed all reported (and some unreported) bugs.
+ Documentation enhancements.

Inline version 0.32 is a minor upgrade with the following changes:

+ Addition of UNTAINT, SAFEMODE, GLOBAL_LOAD, MAKE, and LDDLFLAGS
  configuration options.
+ Fixed all reported (and some unreported) bugs.
+ Documentation enhancements.

Inline version 0.31 is a minor upgrade with the following changes:

+ "use Inline C;" is now a synonym for "use Inline C => DATA;"
+ Default build/install directory changed from "blib_I/" to ".Inline/"
+ Build/Install directory structure simplified.
  + Short install paths.
  + Build areas in ".Inline/build/" subdirectory.
+ Added 'CC', 'CCFLAGS', 'LD', and 'LDFLAGS' config options to C.
+ More recipes in Cookbook.

Inline version 0.30 is a major upgrade from previous verions. It includes:

+ Integrated support for typemap files in C.
  + All the recognized types now come *only* from typemaps. 
  + The default types come from the default typemap installed with core Perl.
  + Typemaps are used to modify the Parse::RecDescent grammar for parsing C.
  + This means you can easily use your existing typemaps.
+ Language support completely separated from base Inline code.
  + Beta supoort for C (Inline::C, included)
  + Alpha support for C++ (Inline::CPP, available separately)
  + Alpha support for Python (Inline::Python, available separately)
  + Support for 'embedding' Perl in C with my new programming language, CPR. 
    (Inline::CPR, available separately) This one may warp your mind :^)
  + Simple API for adding your own language support.
    + Write your own Inline::Foo
    + Write your own implementation of Inline::C, or just modify 
      Inline::C::grammar.
  + Support for interpreted languages in addition to compiled ones.
+ Autodetection of new Inline language modules.
+ Much easier and more powerful configuration syntax.
  + More XS and MakeMaker features exposed for configuration (for C and C++).
+ Flexible new syntax for specifying source code.
  + Use DATA section for AutoLoader, Inline, and POD simultaneously.
+ Support for using Inline 'with' other modules.
  + "use Inline with 'Event';" lets Event.pm pass config info to Inline.pm.
  + Event.pm 0.80 has built in support for Inline.pm 0.30 and higher.
    + Write Event callbacks in C with extreme ease.
+ More documentation
  + perldoc Inline
  + perldoc Inline-FAQ
  + perldoc Inline-API
  + perldoc Inline::C
  + perldoc Inline::C-Cookbook
+ Better error messages and easier debugging.
+ Mailing list: inline@perl.org

Other features of Inline.pm include:

= Automatically compiles your source code and caches the shared object.
= Automatically DynaLoads the shared object and binds it to Perl.
= Recompiles only when the C code changes. 
= Changing the Perl code will not cause a recompile of the C code.
= Support for writing extension modules, suitable for distributing to the CPAN.
= Support for generating and binding Inline subs at run time. <bind()>
= Works on all Unix and MS Windows configurations.

-------------------------------------------------------------------------------
INSTALLATION:

This module requires the Digest::MD5 and Parse::RecDescent modules. It also
requires the appropriate C compiler. (Where appropriate means the one referred
to in your Config.pm) 

To install Inline do this:

perl Makefile.PL
make
make test
make install

On ActivePerl for MSWin32, use nmake instead of make. Or just use:
    ppm install Inline

For convenience, Inline::C is packaged with Inline, and will be automatically
installed as well.

-------------------------------------------------------------------------------
INFORMATION:

= For more information on Inline, see 'perldoc Inline' and 'perldoc Inline-FAQ'
= For information about Inline::, see 'perldoc Inline::C' and
  'perldoc Inline::C-Cookbook'
= For information on writing your own Inline extension see 'perldoc Inline-API'
= For information about the Perl5 internal C API, see 'perldoc perlapi' or
  try http://www.perldoc.com/perl5.6/pod/perlapi.html
= The Fall 2000 edition of The Perl Journal has an article about Inline

The Inline.pm mailing list is inline@perl.org. Send email to 
inline-subscribe@perl.org to subscribe.

Please send questions and comments to "Brian Ingerson" <INGY@cpan.org>

Copyright (c) 2001, 2002, Brian Ingerson. All Rights Reserved.