Skip to content

Configured for both MacOSX Intel x86_64 and Silicon ARM64, with LTO (link-time optimization) and native processor tuning / optimizations for the GCC compiler

License

Notifications You must be signed in to change notification settings

SyntaxSnack/texinfo-2.15-Bleed-Beta-for-MacOSX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Texinfo (bleed / late beta), Version 2.15 modified to compile on MacOS
=================================================
* Pulled from the GNU repository (https://ftp.cae.tntech.edu/pub/gnu/texinfo/)

* To compile on Darwin / OSX / MacOS:
	1. Set the CC and CPP variable to `/usr/bin/gcc`
	2. Set `PREFIX` env variable for the installation dir. DEFAULTS to `/usr/local/*` if unset.
Optional configuration:
        3. Set optional build variables like `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`, which will only be applied to optimization compatible files and packages. LTO (Link-time optimization) and native CPU optimization variables (`-march` and `-mtune) are already applied. For most uses, keep these optional variables clear or simple. Texinfo already runs more than fast enough on modern Macs.
	4. Set $srcdir env variable if you made modifications requiring you to use source files from another directory

	5. Run `./configure`
	6. Run `make`
	7. Run `'make install`

	*If you receive errors about missing headers, add the XCode or Command Line Tools libraries to your `CFLAGS` variable with `-Lxx -Lxx ..`. You shouldn't have to do this on most OSX installations if you have installed XCode and Command Line tools, accepted the license, and set the 'Developer' directory as default with `sudo xcode-select`

Thur Dec 1 14:15:00 2020  Evan A. Mavrin (independent contributor)

        * Remove redefinitions already defined in XCode / Commandline Tools for MacOS
        * Add Wno-error and other required flags to compile on MacOS without warnings resulting in errors
        * Enable link-time optimization and march and mtune flags for gcc to compile with LTO
        * Configure to build for the latest MacOS SDK and for the native architecture (x86_64 on Intel Macs or ARM64 on Silicon Macs)
        - Comment before all changes in C files as either "//removed by Evan" or "//modified by Evan" for reference


* This is a very late beta test.  We have fixed many (I hope most!) of
  the bugs you have reported and I hope soon to make a `real' release.
  Also, we have clarified some of the wording in the Texinfo manual.

  This release includes 

        texinfo2.texi edition 2.15
        texinfmt.el   version 2.23
        texinfo.el    version 2.11
        texnfo-upd.el version 2.12
        texnfo-tex.el version 2.07
        makeinfo.el   version 2.04
        makeinfo.c    version 1.47
        info.c        version 1.44
        texindex.c    version 1.45

* Note that the info.el included in this distribution is the same
  info.el distributed with Emacs version 18.

* In Texinfo mode, `C-c C-c e' inserts `@end' and attempts to insert
  the correct following word, such as `example' or `table'.  (This
  command does not handle nested lists correctly, but inserts the word
  appropriate to the immediately preceding list.)  Also, certain other
  `texinfo-insert-...' commands, such as `C-c C-c c', put the braces
  around the following word if given a prefix arg of one.

* Note for people running TeX: the new `@cartouche' command requires a
  a font, `lcircle10' that is occasionally called `circle10' in older
  TeX distributions. 

  To avoid trouble, use `make install' to install this package.
  This will install `lcircle10' as an alias for `circle10'
  if you don't have it already.  You can also run the script
  `fixfonts' to install the alias and do nothing else.

  Detailed information about this problem can be found at the end
  of this file.

* Please try this out and send me bug reports.

12 June 1992
Robert J. Chassell

Bugs to bob@gnu.ai.mit.edu.  I maintain the Emacs Lisp files and the
manual.  I forward bug reports for info, makeinfo, and texindex to
bfox@gnu.ai.mit.edu, reports for texinfo.tex to rms@gnu.ai.mit.edu,
and reports for texi2dvi to friedman@prep.ai.mit.edu.

Use a command such as 'tar xvzf texinfo2.tar.Z' to uncompress and
extract the files.

This directory contains version 2 of the Texinfo package:
    configure         	   Create a Makefile which in turn creates an `info' or
                      		`makeinfo' executable, or a C sources
                      		distribution.

    texinfo2.texi           This is Edition 2 of the Texinfo Manual

    README                  This file
    Makefile                Create a compressed tar file of the package,
                                as distributed
    New-features            Summary of new features
    texinfo.tex             Definitions file used by Tex    
    texi2dvi                Shell script for producing indexed DVI files

    >texi2roff< to be added when new version is ready
                            Convert Texinfo file to [nt]roff form.

The `elisp' subdirectory contains Emacs lisp code:

    texinfo.el        Texinfo mode                    
    texnfo-upd.el     Texinfo node and menu updating  
    texinfmt.el       Emacs Lisp Info formatting      
    makeinfo.el       Emacs interface to the `makeinfo' formatting program
    texnfo-tex.el     TeX and hardcopy printing       
    info.el           The standard Emacs version 18 Info files,  
    informat.el           included here for convenience.

All these files should be installed in the default load-path for Emacs;
otherwise Emacs will not be able to load the autoloaded support files,
such as `texinfmt.el'.  The `texinfo.el' file contains the autoload
commands; it is the only file that needs to be loaded initially.

The `C' subdirectory contains C code:

    makeinfo.c        `makeinfo' source
    info.c            `info' source
    getopt.c          support files
    getopt1.c
    getopt.h

    texindex.c        sort indices for TeX; included here for convenience

    configure         Create a Makefile which in turn creates an `info' or
                      `makeinfo' executable, or a C sources
                      distribution.

    configure.in      Template for creating `configure' using m4 macros
		      (distributed separately under the name `autoconf').

    Makefile.in       Template for `configure' to use to make a Makefile      
                               
                      (Run `configure' first, then `make' to compile
                      info, makeinfo, and texindex.)

This separate Texinfo package is temporary; after a period of testing,
this documentation and software will be merged into the Emacs
distribution.  (But we may continue to distribute this in a 
separate package as well, for the convenience of those who just want
these files.)


Special note for TeX: Finding the right font for @cartouche
===========================================================

The `@cartouche' command requires a a font, `lcircle10' that is
occasionally called `circle10' in older TeX distributions.  If you see
the following error message

     ! Font \circle=lcircle10 not loadable: Metric (TFM) file not found.

your system may be using the older font.

If it is, you can use `circle10' in place of `lcircle10'.  Since the
emerging convention is to use the new name, we recommend you keep
`texinfo.tex' as is and make symbolic links to the font files with the
old names.

You will need to make symbolic links to several font files.  Look for
files with names similar to the following:

`circle10.mf'
     This is the Metafont source for the font; sometimes used
     automatically by DVI output programs to generate pixel files.

`circle10.tfm'
     This is the file actually used by TeX; it describes the
     measurements of the characters in the font.

`circle10.300pk'
`circle10.96pk'
     `pk' files contain the pixels for the character images that are
     used by your DVI output program.  On your system, these files may
     have other numbers where this example shows "300" and "96".  You
     may also have more, or fewer, `pk' files.

`circle10.300gf'
`circle10.96gf'
     `gf' files are an older alternative to `pk' files; if you can't
     find the `pk' files, look for these.  As with the `pk' files, the
     numbers may be different on your system.

Establish links to each of these files so they're available with both
the `circle10' and the `lcircle10' prefix.  If you can't do this, or
don't know how to, contact the person responsible for TeX at your
site.  If possible, use symbolic links (`ln -s') so you can more
easily keep track of what you have done.

For example, you could make a line in the directory where you found
`circle10.tfm' on your system as follows:

     ln -s circle10.tfm lcircle10.tfm

You may have more, or fewer, `pk' (or `gf') files than in our example.
Don't worry about this; just link each of the `circle10' `pk' (or
`gf') files you have to the corresponding `f'lcircle10 file.  Usually
all the `pk' files for one font are in a single directory, though it's
not always the same as the directory for `mf' or `tfm' files.

When fonts are all in one directory, you can make the links for all
the pixel files using a shell command such as the following, which is
for the GNU shell:

     for pk in circle10.*pk; do ln -s $pk l$pk; done

================ end README file