Changeset 9e74c7f76a92…
by Benjamin Pollack
Changes to 36 files · Browse files at 9e74c7f76a92 Diff from another changeset...
|
|
@@ -0,0 +1,117 @@ + #
+# Copyright (C) 1998 Jason Hutchens
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the license or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the Gnu Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+# DEBUG=-DDEBUG
+TCLVERSION=8.3
+TCLINCLUDE=-I/usr/include/tcl$(TCLVERSION)
+CFLAGS=-O3 -g
+
+
+all: megahal tcllib pythonmodule perlmodule
+
+megahal: main.o megahal.o megahal.h backup
+ gcc $(CFLAGS) -o megahal megahal.o main.o -lm $(DEBUG)
+ @echo "MegaHAL is up to date"
+
+megahal.o: megahal.c megahal.h
+ gcc -fPIC $(CFLAGS) -c megahal.c
+
+main.o: main.c megahal.h
+ gcc $(CFLAGS) -c main.c
+
+tcl-interface.o: tcl-interface.c
+ gcc -fPIC $(CFLAGS) $(TCLINCLUDE) -c tcl-interface.c
+
+tcllib: megahal.o tcl-interface.o
+ gcc -fPIC -shared -Wl,-soname,libmh_tcl.so -o libmh_tcl.so megahal.o tcl-interface.o
+
+pythonmodule: python-interface.c megahal.c
+ python setup.py build
+
+pythonmodule-install:
+ python setup.py install --root=$(DESTDIR)
+
+perlmodule: megahal.c megahal.h
+ cd Megahal && perl Makefile.PL INSTALLDIRS=vendor && make
+
+perlmodule-install:
+ cd Megahal && make install DESTDIR=$(DESTDIR)
+
+version:
+ ./cvsversion.tcl
+
+dist: clean version
+ (cd .. ; tar -czvf megahal-`cat megahal/VERSION`.tar.gz megahal/ ; )
+
+clean:
+ rm -f megahal
+ rm -rf build
+ rm -f megahal.brn megahal.log megahal.txt
+ if [ -e megahal.dic.backup ];then\
+ cp megahal.dic.backup megahal.dic;\
+ rm megahal.dic.backup;\
+ fi
+ rm -f *.o *.so *~
+
+backup:
+ if [ ! -e megahal.dic.backup ];then\
+ cp megahal.dic megahal.dic.backup;\
+ fi
+
+
+
+#
+# $Log: Makefile,v $
+# Revision 1.6 2003/08/26 12:49:16 lfousse
+# * Added the perl interface
+# * cleaned up the python interface a bit (but this
+# still need some work by a python "expert")
+# * Added a learn_no_reply function.
+#
+# Revision 1.5 2002/10/16 04:32:53 davidw
+# * megahal.c (change_personality): [ 541667 ] Added patch from Andrew
+# Burke to rework logic in change_personality.
+#
+# * megahal.c: Trailing white space cleanup.
+#
+# * python-interface.c: [ 546397 ] Change python include path to a more
+# recent version. This should really be fixed by using some of
+# Python's build automation tools.
+#
+# Revision 1.4 2001/07/06 10:16:39 davidw
+# Added -fPIC for HPPA folks.
+#
+# Revision 1.3 2000/11/08 11:07:11 davidw
+# Moved README to docs directory.
+#
+# Changes to debian files.
+#
+# Revision 1.2 2000/09/07 11:43:43 davidw
+# Started hacking:
+#
+# Reduced makefile targets, eliminating non-Linux OS's. There should be
+# a cleaner way to do this.
+#
+# Added Tcl and Python C level interfaces.
+#
+# Revision 1.2 1998/04/21 10:10:56 hutch
+# Updated.
+#
+# Revision 1.1 1998/04/06 08:03:34 hutch
+# Initial revision
+#
|
|
|
@@ -0,0 +1,168 @@ + 2004-02-25 21:19 lfousse
+
+ * megahal.h, Megahal/megahal.c: Updated header file and perl
+ module.
+
+2004-02-23 12:12 lfousse
+
+ * main.c, megahal.c: Changed default working directory and added
+ options to change it.
+
+2004-01-13 11:59 lfousse
+
+ * Makefile, main.c, megahal.c, python-interface.c, setup.py,
+ tcl-interface.c, Megahal/Megahal.xs, debian/Hal.pm,
+ debian/README.debian, debian/changelog, debian/control,
+ debian/copyright, debian/hal.pl, debian/megahal-personal,
+ debian/menu, debian/rules: * Applied code cleaning already
+ shipped with the debian package. * Removed pure debian stuff. *
+ Added lacking setup.py file for python module.
+
+2004-01-03 19:16 lfousse
+
+ * Makefile, Megahal/Makefile, Megahal/Makefile.old, debian/control,
+ debian/rules: Cleaned the perl directory. Cleaned the Makefile.
+ Changed debian stuff (but this should not be a native package any
+ longer).
+
+2003-08-26 14:49 lfousse
+
+ * ChangeLog, Makefile, megahal.c, megahal.h, python-interface.c,
+ Megahal/Changes, Megahal/MANIFEST, Megahal/Makefile,
+ Megahal/Makefile.PL, Megahal/Makefile.old, Megahal/Megahal.bs,
+ Megahal/Megahal.c, Megahal/Megahal.pm, Megahal/Megahal.xs,
+ Megahal/README, Megahal/const-c.inc, Megahal/const-xs.inc,
+ Megahal/megahal.c, Megahal/megahal.h, Megahal/pm_to_blib,
+ Megahal/ppport.h, debian/changelog, debian/control,
+ debian/copyright, debian/menu, debian/rules,
+ docs/megahal_interfaces.3: * Added the perl interface * cleaned
+ up the python interface a bit (but this still need some work by
+ a python "expert") * Added a learn_no_reply function.
+
+2003-08-18 23:45 lfousse
+
+ * megahal.c, megahal.h, python-interface.c: Added
+ megahal_learn_no_reply function for quick learning, and
+ corresponding python interface.
+
+2002-10-16 06:32 davidw
+
+ * ChangeLog, Makefile, guile-interface.c, megahal.c,
+ python-interface.c, docs/README.TXT: * megahal.c
+ (change_personality): [ 541667 ] Added patch from Andrew Burke
+ to rework logic in change_personality.
+
+ * megahal.c: Trailing white space cleanup.
+
+ * python-interface.c: [ 546397 ] Change python include path to a
+ more recent version. This should really be fixed by using some
+ of Python's build automation tools.
+
+2002-02-16 12:29 davidw
+
+ * debian/changelog: * Added patch from Jose Carlos Garcia Sogo to
+ depend on python1.5-dev (closes: #133711)
+
+2002-02-16 12:24 davidw
+
+ * tcl-interface.c, debian/control: Updated Debian to depend on
+ specific (1.5) version of Python.
+
+2002-01-03 13:44 davidw
+
+ * ChangeLog, cvsversion.tcl, megahal.dic, python-interface.c,
+ tcl-interface.c, docs/README.TXT, docs/megahal_interfaces.3:
+ Changed email references to dedasys.com.
+
+2001-07-06 12:16 davidw
+
+ * Makefile, debian/changelog: Added -fPIC for HPPA folks.
+
+2001-06-15 16:13 davidw
+
+ * main.c, debian/changelog, debian/control: Updated debian stuff.
+ Made -h work.
+
+2001-02-25 20:36 davidw
+
+ * debian/: changelog, rules: Updated changelog, rules file.
+
+2001-02-25 20:36 davidw
+
+ * VERSION: Added VERSION file.
+
+2001-02-25 20:29 davidw
+
+ * main.c: Added Devin Carraway's patch to make Megahal print usage
+ information.
+
+2001-02-16 14:55 davidw
+
+ * debian/rules: Updated makefile.
+
+2001-02-16 14:54 davidw
+
+ * debian/rules: Fixed debian/rules.
+
+2001-02-16 14:52 davidw
+
+ * debian/: changelog, control: Updated dependencies, changelog.
+
+2000-11-08 12:07 davidw
+
+ * Makefile, README.TXT, megahal.c, tcl-interface.c,
+ debian/changelog, debian/control, debian/rules, docs/README.TXT:
+ Moved README to docs directory.
+
+ Changes to debian files.
+
+2000-10-16 21:48 davidw
+
+ * cvsversion.tcl, main.c, megahal.1, megahal.h, paper.txt,
+ debian/rules, docs/megahal.1, docs/megahal_interfaces.3,
+ docs/paper.txt: Moved docs to subdirectory.
+
+ Added man page for 'library' interface.
+
+2000-09-07 23:51 davidw
+
+ * ChangeLog, README.TXT, main.c, megahal.c, megahal.h,
+ python-interface.c, tcl-interface.c: Created some library
+ functions that I think are workable, and moved everything else
+ into megahal.c as static variables/functions.
+
+2000-09-07 13:43 davidw
+
+ * ChangeLog, Makefile, main.c, megahal.c, megahal.h,
+ python-interface.c, tcl-interface.c, debian/rules: Started
+ hacking:
+
+ Reduced makefile targets, eliminating non-Linux OS's. There
+ should be a cleaner way to do this.
+
+ Added Tcl and Python C level interfaces.
+
+2000-09-06 19:06 davidw
+
+ * README.TXT, megahal.c, megahal.h: Changed formatting of source
+ code. If I'm going to be maintaining it, I want it to look
+ 'nice':-)
+
+2000-09-01 19:36 davidw
+
+ * LICENSE.TXT, README.TXT, megahal.aux, megahal.ban, megahal.grt,
+ megahal.swp, megahal.trn, paper.txt, Makefile, debug.c, debug.h,
+ megahal.1, megahal.c, megahal.h, megahal.dic, debian/Hal.pm,
+ debian/README.debian, debian/changelog, debian/control,
+ debian/copyright, debian/hal.pl, debian/megahal-personal,
+ debian/menu, debian/rules: Imported sources
+
+2000-09-01 19:36 davidw
+
+ * LICENSE.TXT, README.TXT, megahal.aux, megahal.ban, megahal.grt,
+ megahal.swp, megahal.trn, paper.txt, Makefile, debug.c, debug.h,
+ megahal.1, megahal.c, megahal.h, megahal.dic, debian/Hal.pm,
+ debian/README.debian, debian/changelog, debian/control,
+ debian/copyright, debian/hal.pl, debian/megahal-personal,
+ debian/menu, debian/rules: Initial revision
+
|
|
|
@@ -0,0 +1,271 @@ + GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to
+share and change it. By contrast, the GNU General Public License is intended
+to guarantee your freedom to share and change free software--to make sure
+the software is free for all its users. This General Public License applies
+to most of the Free Software Foundation's software and to any other program
+whose authors commit to using it. (Some other Free Software Foundation
+software is covered by the GNU Library General Public License instead.) You
+can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These
+restrictions translate to certain responsibilities for you if you distribute
+copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must give the recipients all the rights that you have. You
+must make sure that they, too, receive or can get the source code. And you
+must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If
+the software is modified by someone else and passed on, we want its
+recipients to know that what they have is not the original, so that any
+problems introduced by others will not reflect on the original authors'
+reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will
+individually obtain patent licenses, in effect making the program
+proprietary. To prevent this, we have made it clear that any patent must be
+licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms
+of this General Public License. The "Program", below, refers to any such
+program or work, and a "work based on the Program" means either the Program
+or any derivative work under copyright law: that is to say, a work
+containing the Program or a portion of it, either verbatim or with
+modifications and/or translated into another language. (Hereinafter,
+translation is included without limitation in the term "modification".) Each
+licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running the Program
+is not restricted, and the output from the Program is covered only if its
+contents constitute a work based on the Program (independent of having been
+made by running the Program). Whether that is true depends on what the
+Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code
+as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+License and to the absence of any warranty; and give any other recipients of
+the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it,
+thus forming a work based on the Program, and copy and distribute such
+modifications or work under the terms of Section 1 above, provided that you
+also meet all of these conditions:
+
+ * a) You must cause the modified files to carry prominent notices stating
+ that you changed the files and the date of any change.
+
+ * b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any part
+ thereof, to be licensed as a whole at no charge to all third parties
+ under the terms of this License.
+
+ * c) If the modified program normally reads commands interactively when
+ run, you must cause it, when started running for such interactive use
+ in the most ordinary way, to print or display an announcement including
+ an appropriate copyright notice and a notice that there is no warranty
+ (or else, saying that you provide a warranty) and that users may
+ redistribute the program under these conditions, and telling the user
+ how to view a copy of this License. (Exception: if the Program itself
+ is interactive but does not normally print such an announcement, your
+ work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be
+reasonably considered independent and separate works in themselves, then
+this License, and its terms, do not apply to those sections when you
+distribute them as separate works. But when you distribute the same sections
+as part of a whole which is a work based on the Program, the distribution of
+the whole must be on the terms of this License, whose permissions for other
+licensees extend to the entire whole, and thus to each and every part
+regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works
+based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with
+the Program (or with a work based on the Program) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may copy and distribute the Program (or a work based on it, under
+Section 2) in object code or executable form under the terms of Sections 1
+and 2 above provided that you also do one of the following:
+
+ * a) Accompany it with the complete corresponding machine-readable source
+ code, which must be distributed under the terms of Sections 1 and 2
+ above on a medium customarily used for software interchange; or,
+
+ * b) Accompany it with a written offer, valid for at least three years,
+ to give any third party, for a charge no more than your cost of
+ physically performing source distribution, a complete machine-readable
+ copy of the corresponding source code, to be distributed under the
+ terms of Sections 1 and 2 above on a medium customarily used for
+ software interchange; or,
+
+ * c) Accompany it with the information you received as to the offer to
+ distribute corresponding source code. (This alternative is allowed only
+ for noncommercial distribution and only if you received the program in
+ object code or executable form with such an offer, in accord with
+ Subsection b above.)
+
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all
+the source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and
+installation of the executable. However, as a special exception, the source
+code distributed need not include anything that is normally distributed (in
+either source or binary form) with the major components (compiler, kernel,
+and so on) of the operating system on which the executable runs, unless that
+component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy the
+source code from the same place counts as distribution of the source code,
+even though third parties are not compelled to copy the source along with
+the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as
+expressly provided under this License. Any attempt otherwise to copy,
+modify, sublicense or distribute the Program is void, and will automatically
+terminate your rights under this License. However, parties who have received
+copies, or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Program or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the
+Program (or any work based on the Program), you indicate your acceptance of
+this License to do so, and all its terms and conditions for copying,
+distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these terms
+and conditions. You may not impose any further restrictions on the
+recipients' exercise of the rights granted herein. You are not responsible
+for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot distribute so
+as to satisfy simultaneously your obligations under this License and any
+other pertinent obligations, then as a consequence you may not distribute
+the Program at all. For example, if a patent license would not permit
+royalty-free redistribution of the Program by all those who receive copies
+directly or indirectly through you, then the only way you could satisfy both
+it and this License would be to refrain entirely from distribution of the
+Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system, which is implemented by public license
+practices. Many people have made generous contributions to the wide range of
+software distributed through that system in reliance on consistent
+application of that system; it is up to the author/donor to decide if he or
+she is willing to distribute software through any other system and a
+licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original
+copyright holder who places the Program under this License may add an
+explicit geographical distribution limitation excluding those countries, so
+that distribution is permitted only in or among countries not thus excluded.
+In such case, this License incorporates the limitation as if written in the
+body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of
+the General Public License from time to time. Such new versions will be
+similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make
+exceptions for this. Our decision will be guided by the two goals of
+preserving the free status of all derivatives of our free software and of
+promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
+THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
+PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
+CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
+LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
+THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
|
|
|
@@ -0,0 +1,130 @@ + #
+# Copyright (C) 1998 Jason Hutchens
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the license or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the Gnu Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+# DEBUG=-DDEBUG
+TCLVERSION=8.3
+TCLINCLUDE=-I/usr/include/tcl$(TCLVERSION)
+CFLAGS=-g -Wall
+
+
+all: megahal tcllib pythonmodule perlmodule
+
+megahal: main.o megahal.o megahal.h backup
+ gcc $(CFLAGS) -o megahal megahal.o main.o -lm $(DEBUG)
+ @echo "MegaHAL is up to date"
+
+megahal.o: megahal.c megahal.h
+ gcc -fPIC $(CFLAGS) -c megahal.c
+
+main.o: main.c megahal.h
+ gcc $(CFLAGS) -c main.c
+
+tcl-interface.o: tcl-interface.c
+ gcc -fPIC $(CFLAGS) $(TCLINCLUDE) -c tcl-interface.c
+
+tcllib: megahal.o tcl-interface.o
+ gcc -fPIC -shared -Wl,-soname,libmh_tcl.so -o libmh_tcl.so megahal.o tcl-interface.o
+
+pythonmodule: python-interface.c megahal.c
+ python setup.py build
+
+pythonmodule-install:
+ python setup.py install --root=$(DESTDIR)
+
+perlmodule: megahal.c megahal.h
+ cd Megahal && perl Makefile.PL INSTALLDIRS=vendor && make
+
+perlmodule-install:
+ cd Megahal && make install DESTDIR=$(DESTDIR)
+
+version:
+ ./cvsversion.tcl
+
+dist: clean version
+ (cd .. ; tar -czvf megahal-`cat megahal/VERSION`.tar.gz megahal/ ; )
+
+clean:
+ rm -f megahal
+ rm -rf build
+ if [ -f Megahal/Makefile ]; then \
+ cd Megahal ; make clean; \
+ fi
+ rm -f megahal.brn megahal.log megahal.txt
+ if [ -e megahal.dic.backup ];then\
+ cp megahal.dic.backup megahal.dic;\
+ rm megahal.dic.backup;\
+ fi
+ rm -f *.o *.so *~
+
+backup:
+ if [ ! -e megahal.dic.backup ];then\
+ cp megahal.dic megahal.dic.backup;\
+ fi
+
+
+
+#
+# $Log: Makefile,v $
+# Revision 1.8 2004/01/13 10:59:20 lfousse
+# * Applied code cleaning already shipped with the debian package.
+# * Removed pure debian stuff.
+# * Added lacking setup.py file for python module.
+#
+# Revision 1.7 2004/01/03 18:16:23 lfousse
+# Cleaned the perl directory.
+# Cleaned the Makefile.
+# Changed debian stuff (but this should not be a native package any longer).
+#
+# Revision 1.6 2003/08/26 12:49:16 lfousse
+# * Added the perl interface
+# * cleaned up the python interface a bit (but this
+# still need some work by a python "expert")
+# * Added a learn_no_reply function.
+#
+# Revision 1.5 2002/10/16 04:32:53 davidw
+# * megahal.c (change_personality): [ 541667 ] Added patch from Andrew
+# Burke to rework logic in change_personality.
+#
+# * megahal.c: Trailing white space cleanup.
+#
+# * python-interface.c: [ 546397 ] Change python include path to a more
+# recent version. This should really be fixed by using some of
+# Python's build automation tools.
+#
+# Revision 1.4 2001/07/06 10:16:39 davidw
+# Added -fPIC for HPPA folks.
+#
+# Revision 1.3 2000/11/08 11:07:11 davidw
+# Moved README to docs directory.
+#
+# Changes to debian files.
+#
+# Revision 1.2 2000/09/07 11:43:43 davidw
+# Started hacking:
+#
+# Reduced makefile targets, eliminating non-Linux OS's. There should be
+# a cleaner way to do this.
+#
+# Added Tcl and Python C level interfaces.
+#
+# Revision 1.2 1998/04/21 10:10:56 hutch
+# Updated.
+#
+# Revision 1.1 1998/04/06 08:03:34 hutch
+# Initial revision
+#
|
|
@@ -0,0 +1,6 @@ + Revision history for Perl extension Megahal.
+
+0.01 Tue Aug 19 19:52:35 2003
+ - original version; created by h2xs 1.22 with options
+ -Oan Megahal megahal.h
+
|
|
@@ -0,0 +1,23 @@ + Changes
+Makefile
+Makefile.old
+Makefile.PL
+MANIFEST
+megahal.brn
+Megahal.bs
+Megahal.c
+megahal.c
+megahal.dic
+megahal.h
+megahal.log
+Megahal.o
+megahal.o
+Megahal.pm
+megahal.txt
+Megahal.xs
+pm_to_blib
+ppport.h
+README
+t/1.t
+fallback/const-c.inc
+fallback/const-xs.inc
|
|
@@ -0,0 +1,39 @@ + use 5.008;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+ 'NAME' => 'Megahal',
+ 'VERSION_FROM' => 'Megahal.pm', # finds $VERSION
+ 'PREREQ_PM' => {}, # e.g., Module::Name => 1.1
+ ($] >= 5.005 ? ## Add these new keywords supported since 5.005
+ (ABSTRACT_FROM => 'Megahal.pm', # retrieve abstract from module
+ AUTHOR => 'Laurent Fousse <laurent@internal.cyberhqz.com>') : ()),
+ 'LIBS' => [''], # e.g., '-lm'
+ 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
+ 'INC' => '-I.', # e.g., '-I. -I/usr/include/other'
+ 'OBJECT' => '$(O_FILES)', # link all the C files too
+);
+if (eval {require ExtUtils::Constant; 1}) {
+ # If you edit these definitions to change the constants used by this module,
+ # you will need to use the generated const-c.inc and const-xs.inc
+ # files to replace their "fallback" counterparts before distributing your
+ # changes.
+ my @names = (qw(MEGAHAL_H));
+ ExtUtils::Constant::WriteConstants(
+ NAME => 'Megahal',
+ NAMES => \@names,
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c.inc',
+ XS_FILE => 'const-xs.inc',
+ );
+
+}
+else {
+ use File::Copy;
+ use File::Spec;
+ foreach my $file ('const-c.inc', 'const-xs.inc') {
+ my $fallback = File::Spec->catfile('fallback', $file);
+ copy ($fallback, $file) or die "Can't copy $fallback to $file: $!";
+ }
+}
|
|
|
@@ -0,0 +1,857 @@ + # This Makefile is for the Megahal extension to perl.
+#
+# It was generated automatically by MakeMaker version
+# 6.17 (Revision: 1.133) from the contents of
+# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
+#
+# ANY CHANGES MADE HERE WILL BE LOST!
+#
+# MakeMaker ARGV: (q[INSTALLDIRS=vendor])
+#
+# MakeMaker Parameters:
+
+# ABSTRACT_FROM => q[Megahal.pm]
+# AUTHOR => q[Laurent Fousse <laurent@internal.cyberhqz.com>]
+# DEFINE => q[]
+# INC => q[-I.]
+# LIBS => [q[]]
+# NAME => q[Megahal]
+# OBJECT => q[$(O_FILES)]
+# PREREQ_PM => { }
+# VERSION_FROM => q[Megahal.pm]
+
+# --- MakeMaker post_initialize section:
+
+
+# --- MakeMaker const_config section:
+
+# These definitions are from config.sh (via /usr/lib/perl/5.8/Config.pm)
+
+# They may have been overridden via Makefile.PL or on the command line
+AR = ar
+CC = cc
+CCCDLFLAGS = -fPIC
+CCDLFLAGS = -rdynamic
+DLEXT = so
+DLSRC = dl_dlopen.xs
+LD = cc
+LDDLFLAGS = -shared -L/usr/local/lib
+LDFLAGS = -L/usr/local/lib
+LIBC = /lib/libc-2.3.2.so
+LIB_EXT = .a
+OBJ_EXT = .o
+OSNAME = linux
+OSVERS = 2.4.22-xfs+ti1211
+RANLIB = :
+SITELIBEXP = /usr/local/share/perl/5.8.3
+SITEARCHEXP = /usr/local/lib/perl/5.8.3
+SO = so
+EXE_EXT =
+FULL_AR = /usr/bin/ar
+VENDORARCHEXP = /usr/lib/perl5
+VENDORLIBEXP = /usr/share/perl5
+
+
+# --- MakeMaker constants section:
+AR_STATIC_ARGS = cr
+DIRFILESEP = /
+NAME = Megahal
+NAME_SYM = Megahal
+VERSION = 0.01
+VERSION_MACRO = VERSION
+VERSION_SYM = 0_01
+DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
+XS_VERSION = 0.01
+XS_VERSION_MACRO = XS_VERSION
+XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
+INST_ARCHLIB = blib/arch
+INST_SCRIPT = blib/script
+INST_BIN = blib/bin
+INST_LIB = blib/lib
+INST_MAN1DIR = blib/man1
+INST_MAN3DIR = blib/man3
+MAN1EXT = 1p
+MAN3EXT = 3pm
+INSTALLDIRS = vendor
+DESTDIR =
+PREFIX = /usr
+PERLPREFIX = $(PREFIX)
+SITEPREFIX = $(PREFIX)/local
+VENDORPREFIX = $(PREFIX)
+INSTALLPRIVLIB = $(PERLPREFIX)/share/perl/5.8
+DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
+INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.3
+DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
+INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5
+DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
+INSTALLARCHLIB = $(PERLPREFIX)/lib/perl/5.8
+DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
+INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.3
+DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
+INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5
+DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
+INSTALLBIN = $(PERLPREFIX)/bin
+DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
+INSTALLSITEBIN = $(SITEPREFIX)/bin
+DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
+INSTALLVENDORBIN = $(VENDORPREFIX)/bin
+DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
+INSTALLSCRIPT = $(PERLPREFIX)/bin
+DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
+INSTALLMAN1DIR = $(PERLPREFIX)/share/man/man1
+DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)
+INSTALLSITEMAN1DIR = $(SITEPREFIX)/man/man1
+DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)
+INSTALLVENDORMAN1DIR = $(VENDORPREFIX)/share/man/man1
+DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)
+INSTALLMAN3DIR = $(PERLPREFIX)/share/man/man3
+DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)
+INSTALLSITEMAN3DIR = $(SITEPREFIX)/man/man3
+DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)
+INSTALLVENDORMAN3DIR = $(VENDORPREFIX)/share/man/man3
+DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)
+PERL_LIB = /usr/share/perl/5.8
+PERL_ARCHLIB = /usr/lib/perl/5.8
+LIBPERL_A = libperl.a
+FIRST_MAKEFILE = Makefile
+MAKEFILE_OLD = $(FIRST_MAKEFILE).old
+MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl
+PERLMAINCC = $(CC)
+PERL_INC = /usr/lib/perl/5.8/CORE
+PERL = /usr/bin/perl
+FULLPERL = /usr/bin/perl
+ABSPERL = $(PERL)
+PERLRUN = $(PERL)
+FULLPERLRUN = $(FULLPERL)
+ABSPERLRUN = $(ABSPERL)
+PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+PERL_CORE = 0
+PERM_RW = 644
+PERM_RWX = 755
+
+MAKEMAKER = /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
+MM_VERSION = 6.17
+MM_REVISION = 1.133
+
+# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
+# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
+# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
+# DLBASE = Basename part of dynamic library. May be just equal BASEEXT.
+FULLEXT = Megahal
+BASEEXT = Megahal
+PARENT_NAME =
+DLBASE = $(BASEEXT)
+VERSION_FROM = Megahal.pm
+INC = -I.
+DEFINE =
+OBJECT = $(O_FILES)
+LDFROM = $(OBJECT)
+LINKTYPE = dynamic
+
+# Handy lists of source code files:
+XS_FILES = Megahal.xs
+C_FILES = Megahal.c \
+ megahal.c
+O_FILES = Megahal.o \
+ megahal.o
+H_FILES = megahal.h \
+ ppport.h
+MAN1PODS =
+MAN3PODS = Megahal.pm
+
+# Where is the Config information that we are using/depend on
+CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILESEP)config.h
+
+# Where to build things
+INST_LIBDIR = $(INST_LIB)
+INST_ARCHLIBDIR = $(INST_ARCHLIB)
+
+INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)
+INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
+
+INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT)
+INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT)
+INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs
+
+# Extra linker info
+EXPORT_LIST =
+PERL_ARCHIVE =
+PERL_ARCHIVE_AFTER =
+
+
+TO_INST_PM = Megahal.pm
+
+PM_TO_BLIB = Megahal.pm \
+ $(INST_LIB)/Megahal.pm
+
+
+# --- MakeMaker platform_constants section:
+MM_Unix_VERSION = 1.42
+PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
+
+
+# --- MakeMaker tool_autosplit section:
+# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
+AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)'
+
+
+
+# --- MakeMaker tool_xsubpp section:
+
+XSUBPPDIR = /usr/share/perl/5.8/ExtUtils
+XSUBPP = $(XSUBPPDIR)/xsubpp
+XSPROTOARG =
+XSUBPPDEPS = /usr/share/perl/5.8/ExtUtils/typemap $(XSUBPP)
+XSUBPPARGS = -typemap /usr/share/perl/5.8/ExtUtils/typemap
+XSUBPP_EXTRA_ARGS =
+
+
+# --- MakeMaker tools_other section:
+SHELL = /bin/sh
+CHMOD = chmod
+CP = cp
+MV = mv
+NOOP = $(SHELL) -c true
+NOECHO = @
+RM_F = rm -f
+RM_RF = rm -rf
+TEST_F = test -f
+TOUCH = touch
+UMASK_NULL = umask 0
+DEV_NULL = > /dev/null 2>&1
+MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath
+EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime
+ECHO = echo
+ECHO_N = echo -n
+UNINST = 0
+VERBINST = 0
+MOD_INSTALL = $(PERLRUN) -MExtUtils::Install -e 'install({@ARGV}, '\''$(VERBINST)'\'', 0, '\''$(UNINST)'\'');'
+DOC_INSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e perllocal_install
+UNINSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e uninstall
+WARN_IF_OLD_PACKLIST = $(PERLRUN) "-MExtUtils::Command::MM" -e warn_if_old_packlist
+
+
+# --- MakeMaker makemakerdflt section:
+makemakerdflt: all
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dist section:
+TAR = tar
+TARFLAGS = cvf
+ZIP = zip
+ZIPFLAGS = -r
+COMPRESS = gzip --best
+SUFFIX = .gz
+SHAR = shar
+PREOP = $(NOECHO) $(NOOP)
+POSTOP = $(NOECHO) $(NOOP)
+TO_UNIX = $(NOECHO) $(NOOP)
+CI = ci -u
+RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
+DIST_CP = best
+DIST_DEFAULT = tardist
+DISTNAME = Megahal
+DISTVNAME = Megahal-0.01
+
+
+# --- MakeMaker macro section:
+
+
+# --- MakeMaker depend section:
+
+
+# --- MakeMaker cflags section:
+
+CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+OPTIMIZE = -O3
+PERLTYPE =
+MPOLLUTE =
+
+
+# --- MakeMaker const_loadlibs section:
+
+# Megahal might depend on some other libraries:
+# See ExtUtils::Liblist for details
+#
+LD_RUN_PATH =
+
+
+# --- MakeMaker const_cccmd section:
+CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \
+ $(CCFLAGS) $(OPTIMIZE) \
+ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+ $(XS_DEFINE_VERSION)
+
+# --- MakeMaker post_constants section:
+
+
+# --- MakeMaker pasthru section:
+
+PASTHRU = LIB="$(LIB)"\
+ LIBPERL_A="$(LIBPERL_A)"\
+ LINKTYPE="$(LINKTYPE)"\
+ PREFIX="$(PREFIX)"\
+ OPTIMIZE="$(OPTIMIZE)"\
+ PASTHRU_DEFINE="$(PASTHRU_DEFINE)"\
+ PASTHRU_INC="$(PASTHRU_INC)"
+
+
+# --- MakeMaker special_targets section:
+.SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)
+
+.PHONY: all config static dynamic test linkext manifest
+
+
+
+# --- MakeMaker c_o section:
+
+.c.i:
+ cc -E -c $(PASTHRU_INC) $(INC) \
+ $(CCFLAGS) $(OPTIMIZE) \
+ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+ $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c > $*.i
+
+.c.s:
+ $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+.c$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+.C$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.C
+
+.cpp$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cpp
+
+.cxx$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cxx
+
+.cc$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc
+
+
+# --- MakeMaker xs_c section:
+
+.xs.c:
+ $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c
+
+
+# --- MakeMaker xs_o section:
+
+.xs$(OBJ_EXT):
+ $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+
+# --- MakeMaker top_targets section:
+all :: pure_all manifypods
+ $(NOECHO) $(NOOP)
+
+
+pure_all :: config pm_to_blib subdirs linkext
+ $(NOECHO) $(NOOP)
+
+subdirs :: $(MYEXTLIB)
+ $(NOECHO) $(NOOP)
+
+config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists
+ $(NOECHO) $(NOOP)
+
+config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
+ $(NOECHO) $(NOOP)
+
+config :: $(INST_AUTODIR)$(DIRFILESEP).exists
+ $(NOECHO) $(NOOP)
+
+$(INST_AUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
+ $(NOECHO) $(MKPATH) $(INST_AUTODIR)
+ $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_AUTODIR)/.exists
+
+ -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
+
+$(INST_LIBDIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
+ $(NOECHO) $(MKPATH) $(INST_LIBDIR)
+ $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_LIBDIR)/.exists
+
+ -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
+
+$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
+ $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
+ $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_ARCHAUTODIR)/.exists
+
+ -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
+
+config :: $(INST_MAN3DIR)$(DIRFILESEP).exists
+ $(NOECHO) $(NOOP)
+
+
+$(INST_MAN3DIR)/.exists :: /usr/lib/perl/5.8/CORE/perl.h
+ $(NOECHO) $(MKPATH) $(INST_MAN3DIR)
+ $(NOECHO) $(EQUALIZE_TIMESTAMP) /usr/lib/perl/5.8/CORE/perl.h $(INST_MAN3DIR)/.exists
+
+ -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
+
+$(O_FILES): $(H_FILES)
+
+help:
+ perldoc ExtUtils::MakeMaker
+
+
+# --- MakeMaker linkext section:
+
+linkext :: $(LINKTYPE)
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dlsyms section:
+
+
+# --- MakeMaker dynamic section:
+
+dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dynamic_bs section:
+BOOTSTRAP = $(BASEEXT).bs
+
+# As Mkbootstrap might not write a file (if none is required)
+# we use touch to prevent make continually trying to remake it.
+# The DynaLoader only reads a non-empty file.
+$(BOOTSTRAP): $(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
+ $(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))"
+ $(NOECHO) $(PERLRUN) \
+ "-MExtUtils::Mkbootstrap" \
+ -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
+ $(NOECHO) $(TOUCH) $(BOOTSTRAP)
+ $(CHMOD) $(PERM_RW) $@
+
+$(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
+ $(NOECHO) $(RM_RF) $(INST_BOOT)
+ -$(CP) $(BOOTSTRAP) $(INST_BOOT)
+ $(CHMOD) $(PERM_RW) $@
+
+
+# --- MakeMaker dynamic_lib section:
+
+# This section creates the dynamically loadable $(INST_DYNAMIC)
+# from $(OBJECT) and possibly $(MYEXTLIB).
+ARMAYBE = :
+OTHERLDFLAGS =
+INST_DYNAMIC_DEP =
+INST_DYNAMIC_FIX =
+
+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
+ $(RM_F) $@
+ LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) $(INST_DYNAMIC_FIX)
+ $(CHMOD) $(PERM_RWX) $@
+
+
+# --- MakeMaker static section:
+
+## $(INST_PM) has been moved to the all: target.
+## It remains here for awhile to allow for old usage: "make static"
+static :: $(FIRST_MAKEFILE) $(INST_STATIC)
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker static_lib section:
+
+$(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
+ $(RM_RF) $@
+ $(FULL_AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@
+ $(CHMOD) $(PERM_RWX) $@
+ $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld
+
+
+
+# --- MakeMaker manifypods section:
+
+POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
+POD2MAN = $(POD2MAN_EXE)
+
+
+manifypods : pure_all \
+ Megahal.pm \
+ Megahal.pm
+ $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW)\
+ Megahal.pm $(INST_MAN3DIR)/Megahal.$(MAN3EXT)
+
+
+
+
+# --- MakeMaker processPL section:
+
+
+# --- MakeMaker installbin section:
+
+
+# --- MakeMaker subdirs section:
+
+# none
+
+# --- MakeMaker clean_subdirs section:
+clean_subdirs :
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker clean section:
+
+# Delete temporary files but do not touch installed files. We don't delete
+# the Makefile here so a later make realclean still has a makefile to use.
+
+clean :: clean_subdirs
+ -$(RM_RF) Megahal.c ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all $(INST_ARCHAUTODIR)/extralibs.ld perlmain.c tmon.out mon.out so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def lib$(BASEEXT).def $(BASEEXT).exp $(BASEEXT).x core core.*perl.*.? *perl.core core.[0-9] core.[0-9][0-9] core.[0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9][0-9]
+ -$(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
+
+
+# --- MakeMaker realclean_subdirs section:
+realclean_subdirs :
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker realclean section:
+
+# Delete temporary files (via clean) and also delete installed files
+realclean purge :: clean realclean_subdirs
+ $(RM_RF) $(INST_AUTODIR) $(INST_ARCHAUTODIR)
+ $(RM_RF) $(DISTVNAME)
+ $(RM_F) $(INST_DYNAMIC) $(INST_BOOT)
+ $(RM_F) $(INST_STATIC)
+ $(RM_F) $(MAKEFILE_OLD) $(FIRST_MAKEFILE) $(INST_LIB)/Megahal.pm
+
+
+# --- MakeMaker metafile section:
+metafile :
+ $(NOECHO) $(ECHO) '# http://module-build.sourceforge.net/META-spec.html' > META.yml
+ $(NOECHO) $(ECHO) '#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#' >> META.yml
+ $(NOECHO) $(ECHO) 'name: Megahal' >> META.yml
+ $(NOECHO) $(ECHO) 'version: 0.01' >> META.yml
+ $(NOECHO) $(ECHO) 'version_from: Megahal.pm' >> META.yml
+ $(NOECHO) $(ECHO) 'installdirs: vendor' >> META.yml
+ $(NOECHO) $(ECHO) 'requires:' >> META.yml
+ $(NOECHO) $(ECHO) '' >> META.yml
+ $(NOECHO) $(ECHO) 'distribution_type: module' >> META.yml
+ $(NOECHO) $(ECHO) 'generated_by: ExtUtils::MakeMaker version 6.17' >> META.yml
+
+
+# --- MakeMaker metafile_addtomanifest section:
+metafile_addtomanifest:
+ $(NOECHO) $(PERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } ' \
+ -e ' or print "Could not add META.yml to MANIFEST: $${'\''@'\''}\n"'
+
+
+# --- MakeMaker dist_basics section:
+distclean :: realclean distcheck
+ $(NOECHO) $(NOOP)
+
+distcheck :
+ $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck
+
+skipcheck :
+ $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck
+
+manifest :
+ $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
+
+veryclean : realclean
+ $(RM_F) *~ *.orig */*~ */*.orig
+
+
+
+# --- MakeMaker dist_core section:
+
+dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)
+ $(NOECHO) $(PERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \
+ -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';'
+
+tardist : $(DISTVNAME).tar$(SUFFIX)
+ $(NOECHO) $(NOOP)
+
+uutardist : $(DISTVNAME).tar$(SUFFIX)
+ uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu
+
+$(DISTVNAME).tar$(SUFFIX) : distdir
+ $(PREOP)
+ $(TO_UNIX)
+ $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
+ $(RM_RF) $(DISTVNAME)
+ $(COMPRESS) $(DISTVNAME).tar
+ $(POSTOP)
+
+zipdist : $(DISTVNAME).zip
+ $(NOECHO) $(NOOP)
+
+$(DISTVNAME).zip : distdir
+ $(PREOP)
+ $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
+ $(RM_RF) $(DISTVNAME)
+ $(POSTOP)
+
+shdist : distdir
+ $(PREOP)
+ $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
+ $(RM_RF) $(DISTVNAME)
+ $(POSTOP)
+
+
+# --- MakeMaker distdir section:
+distdir : metafile metafile_addtomanifest
+ $(RM_RF) $(DISTVNAME)
+ $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
+ -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
+
+
+
+# --- MakeMaker dist_test section:
+
+disttest : distdir
+ cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
+ cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
+ cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
+
+
+# --- MakeMaker dist_ci section:
+
+ci :
+ $(PERLRUN) "-MExtUtils::Manifest=maniread" \
+ -e "@all = keys %{ maniread() };" \
+ -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
+ -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
+
+
+# --- MakeMaker install section:
+
+install :: all pure_install doc_install
+
+install_perl :: all pure_perl_install doc_perl_install
+
+install_site :: all pure_site_install doc_site_install
+
+install_vendor :: all pure_vendor_install doc_vendor_install
+
+pure_install :: pure_$(INSTALLDIRS)_install
+
+doc_install :: doc_$(INSTALLDIRS)_install
+
+pure__install : pure_site_install
+ $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+doc__install : doc_site_install
+ $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+pure_perl_install ::
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
+ $(INST_BIN) $(DESTINSTALLBIN) \
+ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
+ $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)
+ $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+ $(SITEARCHEXP)/auto/$(FULLEXT)
+
+
+pure_site_install ::
+ $(NOECHO) umask 02; $(MOD_INSTALL) \
+ read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
+ write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
+ $(INST_LIB) $(DESTINSTALLSITELIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
+ $(INST_BIN) $(DESTINSTALLSITEBIN) \
+ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
+ $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
+ $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+ $(PERL_ARCHLIB)/auto/$(FULLEXT)
+
+pure_vendor_install ::
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
+ $(INST_BIN) $(DESTINSTALLVENDORBIN) \
+ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
+ $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+
+doc_perl_install ::
+
+doc_site_install ::
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLARCHLIB)
+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
+ "Module" "$(NAME)" \
+ "installed into" "$(INSTALLSITELIB)" \
+ LINKTYPE "$(LINKTYPE)" \
+ VERSION "$(VERSION)" \
+ EXE_FILES "$(EXE_FILES)" \
+ >> $(DESTINSTALLSITEARCH)/perllocal.pod
+
+doc_vendor_install ::
+
+
+uninstall :: uninstall_from_$(INSTALLDIRS)dirs
+
+uninstall_from_perldirs ::
+ $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
+
+uninstall_from_sitedirs ::
+ $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
+
+uninstall_from_vendordirs ::
+ $(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist
+
+
+# --- MakeMaker force section:
+# Phony target to force checking subdirectories.
+FORCE:
+ $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker perldepend section:
+
+PERL_HDRS = \
+ $(PERL_INC)/EXTERN.h \
+ $(PERL_INC)/INTERN.h \
+ $(PERL_INC)/XSUB.h \
+ $(PERL_INC)/av.h \
+ $(PERL_INC)/cc_runtime.h \
+ $(PERL_INC)/config.h \
+ $(PERL_INC)/cop.h \
+ $(PERL_INC)/cv.h \
+ $(PERL_INC)/dosish.h \
+ $(PERL_INC)/embed.h \
+ $(PERL_INC)/embedvar.h \
+ $(PERL_INC)/fakethr.h \
+ $(PERL_INC)/form.h \
+ $(PERL_INC)/gv.h \
+ $(PERL_INC)/handy.h \
+ $(PERL_INC)/hv.h \
+ $(PERL_INC)/intrpvar.h \
+ $(PERL_INC)/iperlsys.h \
+ $(PERL_INC)/keywords.h \
+ $(PERL_INC)/mg.h \
+ $(PERL_INC)/nostdio.h \
+ $(PERL_INC)/op.h \
+ $(PERL_INC)/opcode.h \
+ $(PERL_INC)/patchlevel.h \
+ $(PERL_INC)/perl.h \
+ $(PERL_INC)/perlio.h \
+ $(PERL_INC)/perlsdio.h \
+ $(PERL_INC)/perlsfio.h \
+ $(PERL_INC)/perlvars.h \
+ $(PERL_INC)/perly.h \
+ $(PERL_INC)/pp.h \
+ $(PERL_INC)/pp_proto.h \
+ $(PERL_INC)/proto.h \
+ $(PERL_INC)/regcomp.h \
+ $(PERL_INC)/regexp.h \
+ $(PERL_INC)/regnodes.h \
+ $(PERL_INC)/scope.h \
+ $(PERL_INC)/sv.h \
+ $(PERL_INC)/thrdvar.h \
+ $(PERL_INC)/thread.h \
+ $(PERL_INC)/unixish.h \
+ $(PERL_INC)/util.h
+
+$(OBJECT) : $(PERL_HDRS)
+
+Megahal.c : $(XSUBPPDEPS)
+
+
+# --- MakeMaker makefile section:
+
+$(OBJECT) : $(FIRST_MAKEFILE)
+
+# We take a very conservative approach here, but it's worth it.
+# We move Makefile to Makefile.old here to avoid gnu make looping.
+$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
+ $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
+ $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."
+ $(NOECHO) $(RM_F) $(MAKEFILE_OLD)
+ $(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
+ -$(MAKE) -f $(MAKEFILE_OLD) clean $(DEV_NULL) || $(NOOP)
+ $(PERLRUN) Makefile.PL "INSTALLDIRS=vendor"
+ $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
+ $(NOECHO) $(ECHO) "==> Please rerun the make command. <=="
+ false
+
+
+
+# --- MakeMaker staticmake section:
+
+# --- MakeMaker makeaperl section ---
+MAP_TARGET = perl
+FULLPERL = /usr/bin/perl
+
+$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
+ $(MAKE) -f $(MAKE_APERL_FILE) $@
+
+$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
+ $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
+ $(NOECHO) $(PERLRUNINST) \
+ Makefile.PL DIR= \
+ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
+ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= \
+ INSTALLDIRS=vendor
+
+
+# --- MakeMaker test section:
+
+TEST_VERBOSE=0
+TEST_TYPE=test_$(LINKTYPE)
+TEST_FILE = test.pl
+TEST_FILES =
+TESTDB_SW = -d
+
+testdb :: testdb_$(LINKTYPE)
+
+test :: $(TEST_TYPE)
+ $(NOECHO) $(ECHO) 'No tests defined for $(NAME) extension.'
+
+test_dynamic :: pure_all
+
+testdb_dynamic :: pure_all
+ PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
+
+test_ : test_dynamic
+
+test_static :: pure_all $(MAP_TARGET)
+
+testdb_static :: pure_all $(MAP_TARGET)
+ PERL_DL_NONLAZY=1 ./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
+
+
+
+# --- MakeMaker ppd section:
+# Creates a PPD (Perl Package Description) for a binary distribution.
+ppd:
+ $(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="0,01,0,0">' > $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <TITLE>$(DISTNAME)</TITLE>' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <ABSTRACT>Perl extension for the Megahal conversation simulator library.</ABSTRACT>' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <AUTHOR>Laurent Fousse <laurent@internal.cyberhqz.com></AUTHOR>' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <IMPLEMENTATION>' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <OS NAME="$(OSNAME)" />' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <ARCHITECTURE NAME="i386-linux-thread-multi" />' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' <CODEBASE HREF="" />' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) ' </IMPLEMENTATION>' >> $(DISTNAME).ppd
+ $(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd
+
+
+# --- MakeMaker pm_to_blib section:
+
+pm_to_blib: $(TO_INST_PM)
+ $(NOECHO) $(PERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', '\''$(PM_FILTER)'\'')'\
+ Megahal.pm $(INST_LIB)/Megahal.pm
+ $(NOECHO) $(TOUCH) $@
+
+# --- MakeMaker selfdocument section:
+
+
+# --- MakeMaker postamble section:
+
+
+# End.
|
|
|
@@ -0,0 +1,153 @@ + package Megahal;
+
+use 5.008;
+use strict;
+use warnings;
+use Carp;
+
+require Exporter;
+use AutoLoader;
+
+our @ISA = qw(Exporter);
+
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+
+# This allows declaration use Megahal ':all';
+# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
+# will save memory.
+our %EXPORT_TAGS = ( 'all' => [ qw(
+ MEGAHAL_H
+) ] );
+
+our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+
+our @EXPORT = qw(
+ MEGAHAL_H
+);
+
+our $VERSION = '0.01';
+
+sub AUTOLOAD {
+ # This AUTOLOAD is used to 'autoload' constants from the constant()
+ # XS function.
+
+ my $constname;
+ our $AUTOLOAD;
+ ($constname = $AUTOLOAD) =~ s/.*:://;
+ croak "&Megahal::constant not defined" if $constname eq 'constant';
+ my ($error, $val) = constant($constname);
+ if ($error) { croak $error; }
+ {
+ no strict 'refs';
+ # Fixed between 5.005_53 and 5.005_61
+#XXX if ($] >= 5.00561) {
+#XXX *$AUTOLOAD = sub () { $val };
+#XXX }
+#XXX else {
+ *$AUTOLOAD = sub { $val };
+#XXX }
+ }
+ goto &$AUTOLOAD;
+}
+
+require XSLoader;
+XSLoader::load('Megahal', $VERSION);
+
+# Preloaded methods go here.
+
+# Autoload methods go after =cut, and are processed by the autosplit program.
+
+1;
+__END__
+# Below is stub documentation for your module. You'd better edit it!
+
+=head1 NAME
+
+Megahal - Perl extension for the Megahal conversation simulator library.
+
+=head1 SYNOPSIS
+
+ use Megahal;
+
+ Megahal::megahal_initialize();
+ Megahal::megahal_do_reply(texte, log);
+ Megahal::megahal_learn_no_reply(texte, log);
+ Megahal::megahal_cleanup();
+
+=head1 ABSTRACT
+
+ Megahal is a conversation simulator that learns as you talk to it.
+ It uses a Markov Model to learn how to hold a conversation. It is
+ possible to teach Meagahal to talk about new topics, and in
+ different languages.
+
+=head1 DESCRIPTION
+
+=over
+
+=item megahal_initialize()
+
+Initialize megahal brain. Required before other functions are called.
+
+=item megahal_do_reply(text, log)
+
+Update the brain by feeding him the input B<text>. Logging is controlled via
+the B<log> boolean. Returns the answer of the bot.
+
+=item megahal_learn_no_reply()
+
+Same as above but without making a reply. Much faster and typically used in
+scripts for quick learning.
+
+=item megahal_cleanup()
+
+You need to call this function to save the brain, and finish Megahal.
+
+=back
+
+=head1 FILES
+
+Megahal looks for the following files in the current directory:
+
+=over
+
+=item megahal.brn
+
+Megahal brain.
+
+=item megahal.ban
+
+List of words which cannot be used as keywords.
+
+=item megahal.log
+
+Log file for errors.
+
+=item megahal.txt
+
+Log file for the conversation.
+
+=item megahal.swp
+
+Keyword translation for Megahal. If Megahal choose "why" as keyword and find a
+line containing "why because" in a line of this file then "why" gets translated
+in "because" in the reply.
+
+=head1 SEE ALSO
+
+http://megahal.sourceforge.net/
+
+=head1 AUTHOR
+
+This page was written by Laurent Fousse, E<lt>laurent@komite.netE<gt>.
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2003 by Jason Hutchens, David N. Welton and others.
+
+This library is free software; you can redistribute it and/or modify
+it under the GNU General Public Licence.
+
+=cut
|
|
@@ -0,0 +1,33 @@ + #include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include "ppport.h"
+
+#include <megahal.h>
+
+#include "const-c.inc"
+
+MODULE = Megahal PACKAGE = Megahal
+
+INCLUDE: const-xs.inc
+
+void
+megahal_learn_no_reply(x, h)
+ char *x
+ int h
+ PROTOTYPE: $$
+
+void
+megahal_initialize();
+ PROTOTYPE:
+
+void
+megahal_cleanup();
+ PROTOTYPE:
+
+char *
+megahal_do_reply(x, h)
+ char *x
+ int h
+ PROTOTYPE: $$
|
|
@@ -0,0 +1,38 @@ + Megahal version 0.01
+====================
+
+The README is used to introduce the module and provide instructions on
+how to install the module, any machine dependencies it may have (for
+example C compilers and installed libraries) and any other information
+that should be provided before the module is installed.
+
+A README file is required for CPAN modules since CPAN extracts the
+README file from a module distribution so that people browsing the
+archive can use it get an idea of the modules uses. It is usually a
+good idea to provide version information here so that people can
+decide whether fixes for the module are worth downloading.
+
+INSTALLATION
+
+To install this module type the following:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+DEPENDENCIES
+
+This module requires these other modules and libraries:
+
+ blah blah blah
+
+COPYRIGHT AND LICENCE
+
+Put the correct copyright and licence information here.
+
+Copyright (C) 2003 Laurent Fousse
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
|
|
@@ -0,0 +1,65 @@ + #define PERL_constant_NOTFOUND 1
+#define PERL_constant_NOTDEF 2
+#define PERL_constant_ISIV 3
+#define PERL_constant_ISNO 4
+#define PERL_constant_ISNV 5
+#define PERL_constant_ISPV 6
+#define PERL_constant_ISPVN 7
+#define PERL_constant_ISSV 8
+#define PERL_constant_ISUNDEF 9
+#define PERL_constant_ISUV 10
+#define PERL_constant_ISYES 11
+
+#ifndef NVTYPE
+typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
+#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support. */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support. */
+#endif
+
+static int
+constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
+ /* Initially switch on the length of the name. */
+ /* When generated this function returned values for the list of names given
+ in this section of perl code. Rather than manually editing these functions
+ to add or remove constants, which would result in this comment and section
+ of code becoming inaccurate, we recommend that you edit this section of
+ code, and use it to regenerate a new set of constant functions which you
+ then use to replace the originals.
+
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+#!/usr/bin/perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(MEGAHAL_H));
+
+print constant_types(); # macro defs
+foreach (C_constant ("Megahal", 'constant', 'IV', $types, undef, 3, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "#### XS Section:\n";
+print XS_constant ("Megahal", $types);
+__END__
+ */
+
+ switch (len) {
+ case 9:
+ if (memEQ(name, "MEGAHAL_H", 9)) {
+#ifdef MEGAHAL_H
+ *iv_return = MEGAHAL_H;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
|
|
@@ -0,0 +1,88 @@ + void
+constant(sv)
+ PREINIT:
+#ifdef dXSTARG
+ dXSTARG; /* Faster if we have it. */
+#else
+ dTARGET;
+#endif
+ STRLEN len;
+ int type;
+ IV iv;
+ /* NV nv; Uncomment this if you need to return NVs */
+ /* const char *pv; Uncomment this if you need to return PVs */
+ INPUT:
+ SV * sv;
+ const char * s = SvPV(sv, len);
+ PPCODE:
+ /* Change this to constant(aTHX_ s, len, &iv, &nv);
+ if you need to return both NVs and IVs */
+ type = constant(aTHX_ s, len, &iv);
+ /* Return 1 or 2 items. First is error message, or undef if no error.
+ Second, if present, is found value */
+ switch (type) {
+ case PERL_constant_NOTFOUND:
+ sv = sv_2mortal(newSVpvf("%s is not a valid Megahal macro", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_NOTDEF:
+ sv = sv_2mortal(newSVpvf(
+ "Your vendor has not defined Megahal macro %s, used", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_ISIV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHi(iv);
+ break;
+ /* Uncomment this if you need to return NOs
+ case PERL_constant_ISNO:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_no);
+ break; */
+ /* Uncomment this if you need to return NVs
+ case PERL_constant_ISNV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHn(nv);
+ break; */
+ /* Uncomment this if you need to return PVs
+ case PERL_constant_ISPV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, strlen(pv));
+ break; */
+ /* Uncomment this if you need to return PVNs
+ case PERL_constant_ISPVN:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, iv);
+ break; */
+ /* Uncomment this if you need to return SVs
+ case PERL_constant_ISSV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ break; */
+ /* Uncomment this if you need to return UNDEFs
+ case PERL_constant_ISUNDEF:
+ break; */
+ /* Uncomment this if you need to return UVs
+ case PERL_constant_ISUV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHu((UV)iv);
+ break; */
+ /* Uncomment this if you need to return YESs
+ case PERL_constant_ISYES:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_yes);
+ break; */
+ default:
+ sv = sv_2mortal(newSVpvf(
+ "Unexpected return type %d while processing Megahal macro %s, used",
+ type, s));
+ PUSHs(sv);
+ }
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
|
@@ -0,0 +1,132 @@ + #ifndef MEGAHAL_H
+#define MEGAHAL_H 1
+
+/*===========================================================================*/
+
+/*
+ * Copyright (C) 1998 Jason Hutchens
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the license or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Gnu Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*===========================================================================*/
+
+/*
+ * $Id: megahal.h,v 1.1 2003/08/26 12:49:16 lfousse Exp $
+ *
+ * File: megahal.h
+ *
+ * Program: MegaHAL
+ *
+ * Purpose: To simulate a natural language conversation with a psychotic
+ * computer. This is achieved by learning from the user's
+ * input using a third-order Markov model on the word level.
+ * Words are considered to be sequences of characters separated
+ * by whitespace and punctuation. Replies are generated
+ * randomly based on a keyword, and they are scored using
+ * measures of surprise.
+ *
+ * Author: Mr. Jason L. Hutchens
+ *
+ * WWW: http://megahal.sourceforge.net
+ *
+ * E-Mail: hutch@ciips.ee.uwa.edu.au
+ *
+ * Contact: The Centre for Intelligent Information Processing Systems
+ * Department of Electrical and Electronic Engineering
+ * The University of Western Australia
+ * AUSTRALIA 6907
+ *
+ */
+
+/*===========================================================================*/
+
+/*===========================================================================*/
+
+
+/*===========================================================================*/
+
+#ifdef SUNOS
+extern double drand48(void);
+extern void srand48(long);
+#endif
+
+/*===========================================================================*/
+
+/*
+ * $Log: megahal.h,v $
+ * Revision 1.1 2003/08/26 12:49:16 lfousse
+ * * Added the perl interface
+ * * cleaned up the python interface a bit (but this
+ * still need some work by a python "expert")
+ * * Added a learn_no_reply function.
+ *
+ * Revision 1.6 2003/08/18 21:45:23 lfousse
+ * Added megahal_learn_no_reply function for quick learning, and
+ * corresponding python interface.
+ *
+ * Revision 1.5 2000/10/16 19:48:44 davidw
+ * Moved docs to subdirectory.
+ *
+ * Added man page for 'library' interface.
+ *
+ * Revision 1.4 2000/09/07 21:51:12 davidw
+ * Created some library functions that I think are workable, and moved
+ * everything else into megahal.c as static variables/functions.
+ *
+ * Revision 1.3 2000/09/07 11:43:43 davidw
+ * Started hacking:
+ *
+ * Reduced makefile targets, eliminating non-Linux OS's. There should be
+ * a cleaner way to do this.
+ *
+ * Added Tcl and Python C level interfaces.
+ *
+ * Revision 1.2 1998/04/21 10:10:56 hutch
+ * Fixed a few little errors.
+ *
+ * Revision 1.1 1998/04/06 08:02:01 hutch
+ * Initial revision
+ */
+
+/*===========================================================================*/
+
+/* public functions */
+
+
+
+void megahal_setnoprompt (void);
+void megahal_setnowrap (void);
+void megahal_setnobanner (void);
+
+void megahal_seterrorfile(char *filename);
+void megahal_setstatusfile(char *filename);
+
+void megahal_initialize(void);
+
+char *megahal_initial_greeting(void);
+
+int megahal_command(char *input);
+
+char *megahal_do_reply(char *input, int log);
+void megahal_learn_no_reply(char *input, int log);
+void megahal_output(char *output);
+char *megahal_input(char *prompt);
+
+void megahal_cleanup(void);
+
+/*===========================================================================*/
+
+#endif /* MEGAHAL_H */
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -0,0 +1,1 @@ + 9.1.1
|
|
|
@@ -0,0 +1,105 @@ + #!/usr/bin/tclsh
+# By David N. Welton <davidw@dedasys.com>
+# $Id: cvsversion.tcl,v 1.2 2002/01/03 12:44:37 davidw Exp $
+
+set newversionvar 0
+
+proc newversion { } {
+ global newversionvar
+ puts stderr "New version"
+ set newversionvar 1
+}
+
+proc diffentries { {dir .} } {
+ global newversionvar
+
+ puts stderr "Diffentries for $dir"
+ set currentdir [ pwd ]
+ cd $dir
+ if { ! [ file exists ./CVS/Entries ] } {
+ puts stderr "You must be in a directory with a path to ./CVS/Entries."
+ }
+
+ if { ! [ file exists ./.OLDEntries ] } {
+ puts stderr "No OLDEntries file. It will be created."
+ set fl [ open ./.OLDEntries w ]
+ close $fl
+ }
+
+ set entries [ open ./CVS/Entries ]
+ set blob ""
+ while { [ gets $entries ln ] != -1 } {
+ lappend blob $ln
+ }
+ close $entries
+
+ set oldentries [ open ./.OLDEntries ]
+ set blob2 ""
+ while { [ gets $oldentries ln ] != -1 } {
+ lappend blob2 $ln
+ }
+ close $oldentries
+
+ if { $blob != $blob2 } {
+ newversion
+ }
+ foreach ln $blob {
+ # the regexp below scans for directories in CVS Entries files
+ if { [ regexp {^D/(.*)////$} "$ln" match dir ] } {
+ diffentries $dir
+ }
+ }
+
+ file copy -force ./CVS/Entries ./.OLDEntries
+ cd $currentdir
+}
+
+diffentries
+
+if { $newversionvar == 0 } {
+ puts stderr "No changes, exiting."
+} else {
+ if { [ file exists ./VERSION ] } {
+ set versionfile [ open ./VERSION "r" ]
+ gets $versionfile versionstring
+ close $versionfile
+ } else {
+ set versionstring "0.0.0"
+ }
+
+ if { ! [ regexp {([0-9]+)\.([0-9]+)\.([0-9]+)} $versionstring match major minor point ] } {
+ puts stderr "Problem with versionstring '$versionstring', exiting"
+ exit 1
+ }
+
+ set versionfile [ open ./VERSION "w" ]
+ while { 1 } {
+ puts -nonewline stderr "Current version: $major.$minor.$point. "
+ puts -nonewline stderr {Increment [M]ajor, m[I]nor, [P]oint release, or [A]bort? >>> }
+ gets stdin answer
+ switch [ string tolower $answer ] {
+ m {
+ incr major
+ set minor 0
+ set point 0
+ break
+ }
+ i {
+ incr minor
+ set point 0
+ break
+ }
+ p {
+ incr point
+ break
+ }
+ a {
+ puts stderr "Aborted"
+ break
+ }
+ }
+ }
+ puts $versionfile "$major.$minor.$point"
+ close $versionfile
+ puts stderr "Done, version is $major.$minor.$point"
+}
\ No newline at end of file |
|
|
@@ -0,0 +1,227 @@ +
+/*===========================================================================*/
+
+/*
+ * Copyright (C) 1998 Jason Hutchens
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the license or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Gnu Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*===========================================================================*/
+
+/*
+ * $Id: debug.c,v 1.1.1.1 2000/09/01 17:36:57 davidw Exp $
+ *
+ * File: debug.c
+ *
+ * Program: MegaHAL v8r5
+ *
+ * Purpose: Memory debugging functions for the MegaHAL project.
+ *
+ * Author: Mr. Paul Baxter.
+ *
+ * WWW: http://ciips.ee.uwa.edu.au/~hutch/hal/
+ *
+ * E-Mail: pbaxter@assistivetech.com
+ *
+ * Notes: This file is best viewed with tabstops set to three spaces.
+ */
+
+/*===========================================================================*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#if !defined(AMIGA) && !defined(__mac_os)
+#include <malloc.h>
+#endif
+#include "megahal.h"
+
+/*===========================================================================*/
+
+#ifdef malloc
+#undef malloc
+#endif
+
+#ifdef realloc
+#undef realloc
+#endif
+
+#ifdef free
+#undef free
+#endif
+
+#define kStartSigniture 0xABCD
+#define kEndSigniture 0xDEADBEEF
+#define kExtraBytes (sizeof(BYTE2) + sizeof(BYTE4) + sizeof(size_t))
+
+/*===========================================================================*/
+
+void *my_malloc(size_t, char *, int);
+void *my_realloc(void *ptr, size_t, char *, int);
+void my_free(void *, char *, int);
+bool isValidPointer(void *, char *, int);
+unsigned long MemoryCount(void);
+
+/*===========================================================================*/
+
+static long mallocscalled = 0;
+static long freescalled = 0;
+static long reallocscalled = 0;
+
+/*===========================================================================*/
+
+/*
+ * Function: my_malloc
+ *
+ * Purpose: emulate malloc plus check memory allocation for debug.
+ */
+void* my_malloc(size_t size, char* file, int line)
+{
+#pragma unused(file, line)
+
+ char *newptr;
+
+ mallocscalled++;
+ newptr = malloc(size + kExtraBytes);
+ if (newptr) {
+ // start signiture
+ *((BYTE2*)newptr) = kStartSigniture;
+ newptr += sizeof(BYTE2);
+ // store length of ptr
+ memcpy(newptr, &size, sizeof(size_t));
+ newptr += sizeof(size_t);
+ memset(newptr, 0xFF, size); // make sure not 0
+ // end signiture
+ *((BYTE4*)&newptr[size]) = kEndSigniture;
+ }
+ return newptr;
+}
+
+/*---------------------------------------------------------------------------*/
+
+/*
+ * Function: my_realloc
+ *
+ * Purpose: emulate realloc plus check memory
+allocation for debug.
+ */
+void* my_realloc(void* ptr, size_t size, char* file, int line)
+{
+ char* newptr;
+
+ reallocscalled++;
+
+ if (!isValidPointer(ptr, file, line)) {
+ printf("\nrealloc MEM overwrite: FILE %s LINE %d\n[mallocs %ld] [frees %ld] [reallocs %ld]\n",
+ file, line, mallocscalled, freescalled, reallocscalled);
+ exit(1);
+ }
+
+ newptr = ((char*)ptr) - sizeof(BYTE2) - sizeof(size_t);
+ newptr = realloc(newptr, size + kExtraBytes);
+ if (newptr) {
+ // start signiture
+ *((BYTE2*)newptr) = kStartSigniture;
+ newptr += sizeof(BYTE2);
+ // store length of ptr
+ memcpy(newptr, &size, sizeof(size_t));
+ newptr += sizeof(size_t);
+ // end signiture
+ *((BYTE4*)&newptr[size]) = kEndSigniture;
+ }
+ return newptr;
+}
+
+/*---------------------------------------------------------------------------*/
+
+/*
+ * Function: my_free
+ * Purpose: emulate free plus check memory
+allocation for debug.
+ */
+void my_free(void* ptr, char*file, int line)
+{
+ char* newptr;
+ size_t ptrsize;
+
+ freescalled++;
+ if (!isValidPointer(ptr, file, line)) {
+ printf("\nfree MEM overwrite: FILE %s LINE %d\n[mallocs %ld] [frees %ld] [reallocs %ld]\n",
+ file, line, mallocscalled, freescalled, reallocscalled);
+ exit(1);
+ }
+ newptr = ((char*)ptr) - sizeof(BYTE2) - sizeof(size_t); // real start
+ ptrsize = *((size_t*)&newptr[sizeof(BYTE2)]); // size of pointer
+ memset(ptr, 0xFF, ptrsize); // make sure mem is changed
+ free(newptr);
+ return;
+}
+
+/*---------------------------------------------------------------------------*/
+
+/*
+ * Function: isValidPointer
+ * Purpose: check to see is a pointer is valid.
+ */
+bool isValidPointer(void* ptr, char* file, int line)
+{
+ char* newptr;
+ size_t ptrsize;
+
+ newptr = ((char*)ptr) - sizeof(BYTE2) - sizeof(size_t); // real start
+ ptrsize = *((size_t*)&newptr[sizeof(BYTE2)]); // size of pointer
+
+ if (*((BYTE2*)newptr) != kStartSigniture) {
+ printf("\nisValidPointer MEM overwrite: FILE %s LINE %d\n[mallocs %ld] [frees %ld] [reallocs %ld]\n",
+ file, line, mallocscalled, freescalled, reallocscalled);
+ return FALSE;
+ }
+ newptr += sizeof(BYTE2) + sizeof(size_t) + ptrsize;
+ if ((*(BYTE4*)newptr) != kEndSigniture) {
+ printf("\nisValidPointer MEM overwrite: FILE %s LINE %d\n[mallocs %ld] [frees %ld] [reallocs %ld]\n",
+ file, line, mallocscalled, freescalled, reallocscalled);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/*---------------------------------------------------------------------------*/
+
+/*
+ * Function: MemoryCount
+ * Purpose: check count of malloc vs frees.
+ */
+unsigned long MemoryCount(void)
+{
+ return mallocscalled - freescalled;
+}
+
+/*===========================================================================*/
+
+/*
+ * $Log: debug.c,v $
+ * Revision 1.1.1.1 2000/09/01 17:36:57 davidw
+ * Imported sources
+ *
+ * Revision 1.2 1998/04/21 10:10:56 hutch
+ * Fixed a few little errors.
+ *
+ * Revision 1.1 1998/04/06 08:02:01 hutch
+ * Initial revision
+ */
+
+/*===========================================================================*/
+
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -0,0 +1,34 @@ + .TH MEGAHAL 1
+.SH NAME
+megahal, megahal-personal \- chat with megahal
+.SH SYNOPSIS
+.B megahal
+.br
+.B megahal-personal
+.SH "DESCRIPTION"
+.BR megahal
+is a conversation simulator. It differs from conversation simulators
+such as Eliza in that it uses a Markov Model to learn how to hold a
+conversation. It is possible to teach MegaHAL to talk about new topics,
+and in different languages.
+.BR megahal-personal
+is a varient of megahal that saves its state files in ~/.megahal/ when it
+exits. This lets each user have thier own personal megahal.
+.SH OPTIONS
+.IP "--no-prompt, -p"
+Do not display prompt when asking user for input. This is a debian-specific
+modification, and is useful mainly if you want to interface megahal to
+another program.
+.IP "--no-wrap, -w"
+Do not word-wrap text megahal outputs. This is a debian-specific
+modification, and is useful mainly if you want to interface megahal to
+another program.
+.IP "--no-banner, -b"
+Supress the startup banner. This is a debian-specific
+modification, and is useful mainly if you want to interface megahal to
+another program.
+.SH "SEE ALSO"
+/usr/share/doc/megahal/README.TXT.gz
+.SH AUTHOR
+This manual page was written by Joey Hess,
+for the Debian GNU/Linux system.
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -0,0 +1,32 @@ + #
+# This is a list of words which can be used as keywords only
+# in order to supplement other keywords
+#
+DISLIKE
+HE
+HER
+HERS
+HIM
+HIS
+I
+I'D
+I'LL
+I'M
+I'VE
+LIKE
+ME
+MINE
+MY
+MYSELF
+ONE
+SHE
+THREE
+TWO
+YOU
+YOU'D
+YOU'LL
+YOU'RE
+YOU'VE
+YOUR
+YOURS
+YOURSELF
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
Loading...