Mercurial > mxe-octave
comparison doc/index.html @ 1246:8e21c194b7d3
revised the "guidelines for creating packages" in the docs
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Sat, 02 Oct 2010 13:44:28 +0200 |
parents | 37aa3912b501 |
children | 58b080e6b26a |
comparison
equal
deleted
inserted
replaced
1245:37aa3912b501 | 1246:8e21c194b7d3 |
---|---|
37 margin-bottom: 1em; | 37 margin-bottom: 1em; |
38 } | 38 } |
39 table { | 39 table { |
40 border-collapse: separate; | 40 border-collapse: separate; |
41 border-spacing: 1px; | 41 border-spacing: 1px; |
42 } | |
43 table.translation td { | |
44 padding-left: 0.5em; | |
45 padding-right: 0.5em; | |
42 } | 46 } |
43 td, dt { | 47 td, dt { |
44 background-color: #eee; | 48 background-color: #eee; |
45 } | 49 } |
46 pre { | 50 pre { |
104 | 108 |
105 <div id="navigation"> | 109 <div id="navigation"> |
106 <h1>MinGW cross compiling environment</h1> | 110 <h1>MinGW cross compiling environment</h1> |
107 | 111 |
108 <ul> | 112 <ul> |
109 <li><a href="#introduction" >Introduction</a></li> | 113 <li><a href="#introduction" >Introduction</a></li> |
110 <li><a href="#screenshots" >Screenshots</a></li> | 114 <li><a href="#screenshots" >Screenshots</a></li> |
111 <li><a href="#tutorial" >Tutorial</a></li> | 115 <li><a href="#tutorial" >Tutorial</a></li> |
112 <li><a href="#latest-release">Download</a></li> | 116 <li><a href="#latest-release" >Download</a></li> |
113 <li><a href="#development" >Development Version</a></li> | 117 <li><a href="#development" >Development Version</a></li> |
114 <li><a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">Mailing List</a></li> | 118 <li><a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">Mailing List</a></li> |
115 </ul> | 119 </ul> |
116 <ul> | 120 <ul> |
117 <li><a href="#requirements" >Requirements</a></li> | 121 <li><a href="#requirements" >Requirements</a></li> |
118 <li><a href="#usage" >Usage</a></li> | 122 <li><a href="#usage" >Usage</a></li> |
119 <li><a href="#packages" >List of Packages</a></li> | 123 <li><a href="#packages" >List of Packages</a></li> |
120 <li><a href="#copyright" >Copyright</a></li> | 124 <li><a href="#creating-packages">Creating Packages</a></li> |
121 <li><a href="#history" >History</a></li> | 125 <li><a href="#copyright" >Copyright</a></li> |
126 <li><a href="#history" >History</a></li> | |
122 </ul> | 127 </ul> |
123 <ul> | 128 <ul> |
124 <li><a href="#see-also" >See also</a></li> | 129 <li><a href="#see-also" >See also</a></li> |
125 </ul> | 130 </ul> |
126 </div> | 131 </div> |
127 | 132 |
128 <div class="section"> | 133 <div class="section"> |
129 <h2 id="introduction">Introduction</h2> | 134 <h2 id="introduction">Introduction</h2> |
467 </p> | 472 </p> |
468 | 473 |
469 <p> | 474 <p> |
470 In addition, | 475 In addition, |
471 feel free to join the | 476 feel free to join the |
472 <a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">project mailing list</a>. | 477 <a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">project mailing list</a> |
473 </p> | 478 and to <a href="#creating-packages">propose new packages</a>. |
474 | 479 </p> |
480 </div> | |
481 | |
482 <div class="section"> | |
483 <h2 id="requirements">Requirements</h2> | |
484 | |
485 <p> | |
486 Mingw-cross-env requires a recent Unix system where | |
487 all components as stated in the table below | |
488 are installed. | |
489 Detailed instructions are available for: | |
490 </p> | |
491 | |
492 <ul class="compact-list"> | |
493 <li><a href="#requirements-debian">Debian</a></li> | |
494 <li><a href="#requirements-freebsd">FreeBSD</a></li> | |
495 <li><a href="#requirements-frugalware">Frugalware</a></li> | |
496 <li><a href="#requirements-gentoo">Gentoo</a></li> | |
497 <li><a href="#requirements-macos">MacOS</a></li> | |
498 <li><a href="#requirements-opensuse">openSUSE</a></li> | |
499 </ul> | |
500 | |
501 <table class="requirements"> | |
502 <tr> | |
503 <td><a href="http://www.gnu.org/software/autoconf/">Autoconf</a></td> | |
504 <td>≥ 2.62</td> | |
505 </tr> | |
506 <tr> | |
507 <td><a href="http://sources.redhat.com/automake/">Automake</a></td> | |
508 <td>≥ 1.10</td> | |
509 </tr> | |
510 <tr> | |
511 <td><a href="http://www.gnu.org/software/bash/">Bash</a></td> | |
512 <td></td> | |
513 </tr> | |
514 <tr> | |
515 <td><a href="http://www.gnu.org/software/bison/">Bison</a></td> | |
516 <td></td> | |
517 </tr> | |
518 <tr> | |
519 <td><a href="http://www.bzip.org/">Bzip2</a></td> | |
520 <td></td> | |
521 </tr> | |
522 <tr> | |
523 <td><a href="http://www.cmake.org/">CMake</a></td> | |
524 <td></td> | |
525 </tr> | |
526 <tr> | |
527 <td><a href="http://flex.sourceforge.net/">Flex</a></td> | |
528 <td>≥ 2.5.31</td> | |
529 </tr> | |
530 <tr> | |
531 <td><a href="http://gcc.gnu.org/">GCC</a> (gcc, g++)</td> | |
532 <td></td> | |
533 </tr> | |
534 <tr> | |
535 <td><a href="http://www.gnu.org/software/make/">GNU Make</a></td> | |
536 <td>≥ 3.81</td> | |
537 </tr> | |
538 <tr> | |
539 <td><a href="http://www.gnu.org/software/sed/">GNU Sed</a></td> | |
540 <td></td> | |
541 </tr> | |
542 <tr> | |
543 <td><a href="http://freedesktop.org/wiki/Software/intltool/">Intltool</a></td> | |
544 <td></td> | |
545 </tr> | |
546 <tr> | |
547 <td><a href="http://en.wikipedia.org/wiki/C_standard_library">LibC</a> for 32-bit</td> | |
548 <td></td> | |
549 </tr> | |
550 <tr> | |
551 <td><a href="http://www.gnu.org/software/libtool/">Libtool</a></td> | |
552 <td></td> | |
553 </tr> | |
554 <tr> | |
555 <td><a href="http://www.openssl.org/">OpenSSL</a>-dev</td> | |
556 <td></td> | |
557 </tr> | |
558 <tr> | |
559 <td><a href="http://www.gnu.org/software/patch/">Patch</a></td> | |
560 <td></td> | |
561 </tr> | |
562 <tr> | |
563 <td><a href="http://www.perl.org/">Perl</a></td> | |
564 <td></td> | |
565 </tr> | |
566 <tr> | |
567 <td><a href="http://search.cpan.org/dist/XML-Parser/Parser.pm">Perl XML::Parser</a></td> | |
568 <td></td> | |
569 </tr> | |
570 <tr> | |
571 <td><a href="http://pkg-config.freedesktop.org/">Pkg-config</a></td> | |
572 <td>≥ 0.16</td> | |
573 </tr> | |
574 <tr> | |
575 <td><a href="http://www.scons.org/">SCons</a></td> | |
576 <td>≥ 0.98</td> | |
577 </tr> | |
578 <tr> | |
579 <td><a href="http://www.info-zip.org/UnZip.html">UnZip</a></td> | |
580 <td></td> | |
581 </tr> | |
582 <tr> | |
583 <td><a href="http://www.gnu.org/software/wget/">Wget</a></td> | |
584 <td></td> | |
585 </tr> | |
586 <tr> | |
587 <td><a href="http://tukaani.org/xz/">XZ Utils</a></td> | |
588 <td></td> | |
589 </tr> | |
590 </table> | |
591 | |
592 <h3 id="requirements-debian">Debian</h3> | |
593 | |
594 <!-- http://www.debian.org/distrib/packages#search_packages --> | |
595 <pre>aptitude install -R autoconf automake bash bison bzip2 \ | |
596 cmake flex g++ intltool make sed \ | |
597 libtool openssl libssl-dev \ | |
598 libxml-parser-perl patch perl \ | |
599 pkg-config scons unzip wget xz-utils</pre> | |
600 | |
601 <p> | |
602 On 64-bit Debian, install also: | |
603 </p> | |
604 <pre>aptitude install -R g++-multilib</pre> | |
605 | |
606 <p> | |
607 On Debian/Lenny, some | |
608 <a href="http://backports.debian.org/">backports</a> | |
609 are required: | |
610 </p> | |
611 <pre>aptitude install -R -t lenny-backports autoconf xz-utils</pre> | |
612 | |
613 <h3 id="requirements-freebsd">FreeBSD</h3> | |
614 | |
615 <!-- http://www.freebsd.org/ports/ --> | |
616 <pre>pkg_add -r automake110 autoconf262 bash bison cmake \ | |
617 flex gmake gsed intltool libtool openssl \ | |
618 patch perl p5-XML-Parser pkg-config scons \ | |
619 unzip wget</pre> | |
620 | |
621 <p> | |
622 Ensure that /usr/local/bin preceeds /usr/bin in your $PATH: | |
623 </p> | |
624 <p> | |
625 For C style shells, edit .cshrc | |
626 </p> | |
627 <pre>setenv PATH /usr/local/bin:$PATH</pre> | |
628 <p> | |
629 For Bourne shells, edit .profile | |
630 </p> | |
631 <pre>export PATH = /usr/local/bin:$PATH</pre> | |
632 <p> | |
633 On 64-bit FreeBSD, | |
634 there are open issues with the NSIS package. To allow the | |
635 remainder of mingw-cross-env to build, simply remove the | |
636 package: | |
637 </p> | |
638 <pre>rm <em>where mingw-cross-env is unpacked</em>/src/nsis.mk</pre> | |
639 | |
640 <h3 id="requirements-frugalware">Frugalware</h3> | |
641 | |
642 <!-- http://www.frugalware.org/packages --> | |
643 <pre>pacman-g2 -S autoconf automake bash bzip2 bison cmake \ | |
644 flex gcc intltool make sed libtool openssl \ | |
645 patch perl perl-xml-parser pkgconfig scons \ | |
646 unzip wget xz xz-lzma</pre> | |
647 | |
648 <p> | |
649 On 64-bit Frugalware, | |
650 there are open issues with the NSIS package. | |
651 </p> | |
652 | |
653 <h3 id="requirements-gentoo">Gentoo</h3> | |
654 | |
655 <!-- http://packages.gentoo.org/ --> | |
656 <pre>emerge sys-devel/autoconf sys-devel/automake \ | |
657 app-shells/bash sys-devel/bison app-arch/bzip2 \ | |
658 dev-util/cmake sys-devel/flex sys-devel/gcc \ | |
659 dev-util/intltool sys-devel/make sys-apps/sed \ | |
660 sys-devel/libtool dev-libs/openssl sys-devel/patch \ | |
661 dev-lang/perl dev-perl/XML-Parser \ | |
662 dev-util/pkgconfig dev-util/scons app-arch/unzip \ | |
663 net-misc/wget app-arch/xz-utils</pre> | |
664 | |
665 <p> | |
666 There are | |
667 <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-05/msg00296.html">open issues with Gentoo and GCC-4.5</a>. | |
668 </p> | |
669 | |
670 <h3 id="requirements-macos">MacOS 10.6</h3> | |
671 | |
672 <p> | |
673 Install | |
674 <a href="http://developer.apple.com/TOOLS/xcode/">Xcode</a> | |
675 and | |
676 <a href="http://www.macports.org/">MacPorts</a>, | |
677 then run: | |
678 </p> | |
679 <!-- http://www.macports.org/ports.php --> | |
680 <pre>sudo port install autoconf automake bison cmake flex \ | |
681 gsed intltool libtool openssl \ | |
682 p5-xml-parser pkgconfig scons \ | |
683 wget xz-devel gcc_select | |
684 sudo gcc_select gcc40</pre> | |
685 | |
686 <h3>MacOS X (≤ 10.5)</h3> | |
687 | |
688 <p> | |
689 Install | |
690 <a href="http://developer.apple.com/TOOLS/xcode/">Xcode</a> | |
691 and | |
692 <a href="http://www.macports.org/">MacPorts</a>, | |
693 then run: | |
694 </p> | |
695 <!-- http://www.macports.org/ports.php --> | |
696 <pre>sudo port install autoconf automake bison cmake flex \ | |
697 gmake gsed intltool libtool openssl \ | |
698 p5-xml-parser pkgconfig scons wget \ | |
699 xz-devel</pre> | |
700 | |
701 <h3 id="requirements-opensuse">openSUSE</h3> | |
702 | |
703 <!-- http://software.opensuse.org/113/en --> | |
704 <pre>zypper install -R autoconf automake bash bison bzip2 \ | |
705 cmake flex gcc-c++ gettext-tools \ | |
706 intltool libtool make openssl \ | |
707 libopenssl-devel patch perl \ | |
708 perl-XML-Parser pkg-config scons \ | |
709 sed unzip wget xz</pre> | |
710 | |
711 <h3 id="requirements-opensuse64">openSUSE 11.3 x86_64 (additional)</h3> | |
712 <pre>zypper install -R gcc-32bit glibc-devel-32bit \ | |
713 libgcc45-32bit libgomp45-32bit \ | |
714 libstdc++45-devel-32bit</pre> | |
715 </div> | |
716 | |
717 <div class="section"> | |
718 <h2 id="usage">Usage</h2> | |
719 | |
720 <p> | |
721 All build commands also download the packages if necessary. | |
722 </p> | |
723 | |
724 <dl class="usage"> | |
725 | |
726 <dt>make</dt> | |
727 | |
728 <dd> | |
729 build all packages, | |
730 non-parallel | |
731 </dd> | |
732 | |
733 <dt>make gcc</dt> | |
734 | |
735 <dd> | |
736 build a minimal useful set of packages, | |
737 i.e. the cross compilers | |
738 and the most basic packages, | |
739 non-parallel | |
740 </dd> | |
741 | |
742 <dt>make foo bar</dt> | |
743 | |
744 <dd> | |
745 build packages "foo", "bar" and their dependencies, | |
746 non-parallel | |
747 </dd> | |
748 | |
749 <dt>make foo bar -j 4 JOBS=2</dt> | |
750 | |
751 <dd> | |
752 build packages "foo", "bar" and their dependencies, | |
753 where up to 4 packages are build in parallel, | |
754 each with up to 2 compiler processes running in parallel | |
755 </dd> | |
756 | |
757 <dt>make download</dt> | |
758 | |
759 <dd> | |
760 download all packages, | |
761 non-parallel, | |
762 such that subsequent builds work without internet access | |
763 </dd> | |
764 | |
765 <dt>make download-foo download-bar</dt> | |
766 | |
767 <dd> | |
768 download packages "foo", "bar" and their dependencies, | |
769 non-parallel | |
770 </dd> | |
771 | |
772 <dt>make download-foo download-bar -j 4</dt> | |
773 | |
774 <dd> | |
775 download packages "foo", "bar" and their dependencies, | |
776 where up to 4 packages are downloaded in parallel | |
777 </dd> | |
778 | |
779 <dt>make strip</dt> | |
780 | |
781 <dd> | |
782 strip all package builds and remove unnecessary files | |
783 </dd> | |
784 | |
785 <dt>make clean</dt> | |
786 | |
787 <dd> | |
788 remove all package builds | |
789 – use with caution! | |
790 </dd> | |
791 | |
792 <dt>make clean-pkg</dt> | |
793 | |
794 <dd> | |
795 remove all unused package files, | |
796 handy after a successful update | |
797 </dd> | |
798 | |
799 <dt>make update</dt> | |
800 | |
801 <dd> | |
802 for internal use only! | |
803 – | |
804 update the version numbers of all packages, | |
805 download the new versions and note their checksums | |
806 </dd> | |
807 | |
808 <dt>make dist</dt> | |
809 | |
810 <dd> | |
811 build a source distribution tarball and the website | |
812 </dd> | |
813 | |
814 </dl> | |
815 </div> | |
816 | |
817 <div class="section"> | |
818 <h2 id="packages">List of Packages</h2> | |
819 | |
820 <table id="package-list"> | |
821 </table> | |
822 <p> | |
823 See something missing? Feel free to <a href="#creating-packages">create a new package</a>. | |
824 </p> | |
825 </div> | |
826 | |
827 <div class="section"> | |
475 <h2 id="creating-packages">Guidelines for Creating Packages</h2> | 828 <h2 id="creating-packages">Guidelines for Creating Packages</h2> |
476 | 829 |
477 <ol> | 830 <ol> |
478 <li> | 831 <li> |
479 <p> | 832 <p> |
488 BTW, we're always curious about the applications people are porting. | 841 BTW, we're always curious about the applications people are porting. |
489 We maintain is a | 842 We maintain is a |
490 <a href="#used-by">list of projects</a> | 843 <a href="#used-by">list of projects</a> |
491 which use mingw-cross-env. | 844 which use mingw-cross-env. |
492 No matter whether your project is free or proprietary | 845 No matter whether your project is free or proprietary |
493 – as long as it has it's own website, | 846 – as long as it has its own website, |
494 we'd be happy to link to it. | 847 we'd be happy to link to it. |
495 </p> | 848 </p> |
496 | 849 |
497 <p> | 850 <p> |
498 Also, feel free to link to us. :-) | 851 Also, feel free to link to us. :-) |
544 <li> | 897 <li> |
545 <p> | 898 <p> |
546 Write your <code>$(PKG)_BUILD</code>. | 899 Write your <code>$(PKG)_BUILD</code>. |
547 If your library has a <code>./configure</code> script, | 900 If your library has a <code>./configure</code> script, |
548 enable/disable all depdency libraries explicitly | 901 enable/disable all depdency libraries explicitly |
549 via <code>"--enable-*"</code> and <code>"--disable-*"</code> options. | 902 via "<code>--enable-*</code>" and "<code>--disable-*</code>" options. |
550 </p> | 903 </p> |
551 </li> | 904 </li> |
552 | 905 |
553 <li> | 906 <li> |
554 <p> | 907 <p> |
647 | 1000 |
648 <p> | 1001 <p> |
649 Finally, in your <code>$(PKG)_BUILD</code> section, | 1002 Finally, in your <code>$(PKG)_BUILD</code> section, |
650 please check that you use our portability variables: | 1003 please check that you use our portability variables: |
651 </p> | 1004 </p> |
652 <table> | 1005 <table class="translation"> |
653 <tr><td>bash</td> <td>→</td><td>$(SHELL)</td></tr> | 1006 <tr><td><code>bash</code></td> <td>→</td><td><code>$(SHELL)</code></td></tr> |
654 <tr><td>install</td> <td>→</td><td>$(INSTALL)</td></tr> | 1007 <tr><td><code>install</code></td> <td>→</td><td><code>$(INSTALL)</code></td></tr> |
655 <tr><td>libtoolize</td><td>→</td><td>$(LIBTOOLIZE)</td></tr> | 1008 <tr><td><code>libtoolize</code></td><td>→</td><td><code>$(LIBTOOLIZE)</code></td></tr> |
656 <tr><td>make</td> <td>→</td><td>$(MAKE)</td></tr> | 1009 <tr><td><code>make</code></td> <td>→</td><td><code>$(MAKE)</code></td></tr> |
657 <tr><td>patch</td> <td>→</td><td>$(PATCH)</td></tr> | 1010 <tr><td><code>patch</code></td> <td>→</td><td><code>$(PATCH)</code></td></tr> |
658 <tr><td>sed</td> <td>→</td><td>$(SED)</td></tr> | 1011 <tr><td><code>sed</code></td> <td>→</td><td><code>$(SED)</code></td></tr> |
659 </table> | 1012 </table> |
660 </li> | 1013 </li> |
661 | 1014 |
662 <li> | 1015 <li> |
663 <p> | 1016 <p> |
664 Check whether everything runs fine. If you have some trouble, | 1017 Check whether everything runs fine. |
665 don't hesitate to ask on the | 1018 If you have some trouble, |
666 <a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a>, | 1019 don't hesitate to ask on the |
667 providing your *.mk file so far. | 1020 <a href="http://lists.nongnu.org/mailman/listinfo/mingw-cross-env-list">mailing list</a>, |
668 </p> | 1021 providing your <code>*.mk</code> file so far. |
669 </li> | 1022 </p> |
670 | 1023 </li> |
671 <li> | 1024 |
672 <p> | 1025 <li> |
673 Propose your final *.mk file to the mailing list. Don't forget | 1026 <p> |
674 to tell us if there are some pieces in your *.mk file you feel | 1027 Propose your final <code>*.mk</code> file to the mailing list. |
675 unsure about. We'll then have a specific look at those parts, | 1028 Don't forget to tell us |
676 which avoids trouble for you and us in the future. | 1029 if there are some pieces in your <code>*.mk</code> file |
677 </p> | 1030 you feel unsure about. |
678 </li> | 1031 We'll then have a specific look at those parts, |
679 </div> | 1032 which avoids trouble for you and us in the future. |
680 | 1033 </p> |
681 <div class="section"> | 1034 </li> |
682 <h2 id="requirements">Requirements</h2> | 1035 </ol> |
683 | |
684 <p> | |
685 Mingw-cross-env requires a recent Unix system where | |
686 all components as stated in the table below | |
687 are installed. | |
688 Detailed instructions are available for: | |
689 </p> | |
690 | |
691 <ul class="compact-list"> | |
692 <li><a href="#requirements-debian">Debian</a></li> | |
693 <li><a href="#requirements-freebsd">FreeBSD</a></li> | |
694 <li><a href="#requirements-frugalware">Frugalware</a></li> | |
695 <li><a href="#requirements-gentoo">Gentoo</a></li> | |
696 <li><a href="#requirements-macos">MacOS</a></li> | |
697 <li><a href="#requirements-opensuse">openSUSE</a></li> | |
698 </ul> | |
699 | |
700 <table> | |
701 <tr> | |
702 <td><a href="http://www.gnu.org/software/autoconf/">Autoconf</a></td> | |
703 <td>≥ 2.62</td> | |
704 </tr> | |
705 <tr> | |
706 <td><a href="http://sources.redhat.com/automake/">Automake</a></td> | |
707 <td>≥ 1.10</td> | |
708 </tr> | |
709 <tr> | |
710 <td><a href="http://www.gnu.org/software/bash/">Bash</a></td> | |
711 <td></td> | |
712 </tr> | |
713 <tr> | |
714 <td><a href="http://www.gnu.org/software/bison/">Bison</a></td> | |
715 <td></td> | |
716 </tr> | |
717 <tr> | |
718 <td><a href="http://www.bzip.org/">Bzip2</a></td> | |
719 <td></td> | |
720 </tr> | |
721 <tr> | |
722 <td><a href="http://www.cmake.org/">CMake</a></td> | |
723 <td></td> | |
724 </tr> | |
725 <tr> | |
726 <td><a href="http://flex.sourceforge.net/">Flex</a></td> | |
727 <td>≥ 2.5.31</td> | |
728 </tr> | |
729 <tr> | |
730 <td><a href="http://gcc.gnu.org/">GCC</a> (gcc, g++)</td> | |
731 <td></td> | |
732 </tr> | |
733 <tr> | |
734 <td><a href="http://www.gnu.org/software/make/">GNU Make</a></td> | |
735 <td>≥ 3.81</td> | |
736 </tr> | |
737 <tr> | |
738 <td><a href="http://www.gnu.org/software/sed/">GNU Sed</a></td> | |
739 <td></td> | |
740 </tr> | |
741 <tr> | |
742 <td><a href="http://freedesktop.org/wiki/Software/intltool/">Intltool</a></td> | |
743 <td></td> | |
744 </tr> | |
745 <tr> | |
746 <td><a href="http://en.wikipedia.org/wiki/C_standard_library">LibC</a> for 32-bit</td> | |
747 <td></td> | |
748 </tr> | |
749 <tr> | |
750 <td><a href="http://www.gnu.org/software/libtool/">Libtool</a></td> | |
751 <td></td> | |
752 </tr> | |
753 <tr> | |
754 <td><a href="http://www.openssl.org/">OpenSSL</a>-dev</td> | |
755 <td></td> | |
756 </tr> | |
757 <tr> | |
758 <td><a href="http://www.gnu.org/software/patch/">Patch</a></td> | |
759 <td></td> | |
760 </tr> | |
761 <tr> | |
762 <td><a href="http://www.perl.org/">Perl</a></td> | |
763 <td></td> | |
764 </tr> | |
765 <tr> | |
766 <td><a href="http://search.cpan.org/dist/XML-Parser/Parser.pm">Perl XML::Parser</a></td> | |
767 <td></td> | |
768 </tr> | |
769 <tr> | |
770 <td><a href="http://pkg-config.freedesktop.org/">Pkg-config</a></td> | |
771 <td>≥ 0.16</td> | |
772 </tr> | |
773 <tr> | |
774 <td><a href="http://www.scons.org/">SCons</a></td> | |
775 <td>≥ 0.98</td> | |
776 </tr> | |
777 <tr> | |
778 <td><a href="http://www.info-zip.org/UnZip.html">UnZip</a></td> | |
779 <td></td> | |
780 </tr> | |
781 <tr> | |
782 <td><a href="http://www.gnu.org/software/wget/">Wget</a></td> | |
783 <td></td> | |
784 </tr> | |
785 <tr> | |
786 <td><a href="http://tukaani.org/xz/">XZ Utils</a></td> | |
787 <td></td> | |
788 </tr> | |
789 </table> | |
790 | |
791 <h3 id="requirements-debian">Debian</h3> | |
792 | |
793 <!-- http://www.debian.org/distrib/packages#search_packages --> | |
794 <pre>aptitude install -R autoconf automake bash bison bzip2 \ | |
795 cmake flex g++ intltool make sed \ | |
796 libtool openssl libssl-dev \ | |
797 libxml-parser-perl patch perl \ | |
798 pkg-config scons unzip wget xz-utils</pre> | |
799 | |
800 <p> | |
801 On 64-bit Debian, install also: | |
802 </p> | |
803 <pre>aptitude install -R g++-multilib</pre> | |
804 | |
805 <p> | |
806 On Debian/Lenny, some | |
807 <a href="http://backports.debian.org/">backports</a> | |
808 are required: | |
809 </p> | |
810 <pre>aptitude install -R -t lenny-backports autoconf xz-utils</pre> | |
811 | |
812 <h3 id="requirements-freebsd">FreeBSD</h3> | |
813 | |
814 <!-- http://www.freebsd.org/ports/ --> | |
815 <pre>pkg_add -r automake110 autoconf262 bash bison cmake \ | |
816 flex gmake gsed intltool libtool openssl \ | |
817 patch perl p5-XML-Parser pkg-config scons \ | |
818 unzip wget</pre> | |
819 | |
820 <p> | |
821 Ensure that /usr/local/bin preceeds /usr/bin in your $PATH: | |
822 </p> | |
823 <p> | |
824 For C style shells, edit .cshrc | |
825 </p> | |
826 <pre>setenv PATH /usr/local/bin:$PATH</pre> | |
827 <p> | |
828 For Bourne shells, edit .profile | |
829 </p> | |
830 <pre>export PATH = /usr/local/bin:$PATH</pre> | |
831 <p> | |
832 On 64-bit FreeBSD, | |
833 there are open issues with the NSIS package. To allow the | |
834 remainder of mingw-cross-env to build, simply remove the | |
835 package: | |
836 </p> | |
837 <pre>rm <em>where mingw-cross-env is unpacked</em>/src/nsis.mk</pre> | |
838 | |
839 <h3 id="requirements-frugalware">Frugalware</h3> | |
840 | |
841 <!-- http://www.frugalware.org/packages --> | |
842 <pre>pacman-g2 -S autoconf automake bash bzip2 bison cmake \ | |
843 flex gcc intltool make sed libtool openssl \ | |
844 patch perl perl-xml-parser pkgconfig scons \ | |
845 unzip wget xz xz-lzma</pre> | |
846 | |
847 <p> | |
848 On 64-bit Frugalware, | |
849 there are open issues with the NSIS package. | |
850 </p> | |
851 | |
852 <h3 id="requirements-gentoo">Gentoo</h3> | |
853 | |
854 <!-- http://packages.gentoo.org/ --> | |
855 <pre>emerge sys-devel/autoconf sys-devel/automake \ | |
856 app-shells/bash sys-devel/bison app-arch/bzip2 \ | |
857 dev-util/cmake sys-devel/flex sys-devel/gcc \ | |
858 dev-util/intltool sys-devel/make sys-apps/sed \ | |
859 sys-devel/libtool dev-libs/openssl sys-devel/patch \ | |
860 dev-lang/perl dev-perl/XML-Parser \ | |
861 dev-util/pkgconfig dev-util/scons app-arch/unzip \ | |
862 net-misc/wget app-arch/xz-utils</pre> | |
863 | |
864 <p> | |
865 There are | |
866 <a href="http://lists.nongnu.org/archive/html/mingw-cross-env-list/2010-05/msg00296.html">open issues with Gentoo and GCC-4.5</a>. | |
867 </p> | |
868 | |
869 <h3 id="requirements-macos">MacOS 10.6</h3> | |
870 | |
871 <p> | |
872 Install | |
873 <a href="http://developer.apple.com/TOOLS/xcode/">Xcode</a> | |
874 and | |
875 <a href="http://www.macports.org/">MacPorts</a>, | |
876 then run: | |
877 </p> | |
878 <!-- http://www.macports.org/ports.php --> | |
879 <pre>sudo port install autoconf automake bison cmake flex \ | |
880 gsed intltool libtool openssl \ | |
881 p5-xml-parser pkgconfig scons \ | |
882 wget xz-devel gcc_select | |
883 sudo gcc_select gcc40</pre> | |
884 | |
885 <h3>MacOS X (≤ 10.5)</h3> | |
886 | |
887 <p> | |
888 Install | |
889 <a href="http://developer.apple.com/TOOLS/xcode/">Xcode</a> | |
890 and | |
891 <a href="http://www.macports.org/">MacPorts</a>, | |
892 then run: | |
893 </p> | |
894 <!-- http://www.macports.org/ports.php --> | |
895 <pre>sudo port install autoconf automake bison cmake flex \ | |
896 gmake gsed intltool libtool openssl \ | |
897 p5-xml-parser pkgconfig scons wget \ | |
898 xz-devel</pre> | |
899 | |
900 <h3 id="requirements-opensuse">openSUSE</h3> | |
901 | |
902 <!-- http://software.opensuse.org/113/en --> | |
903 <pre>zypper install -R autoconf automake bash bison bzip2 \ | |
904 cmake flex gcc-c++ gettext-tools \ | |
905 intltool libtool make openssl \ | |
906 libopenssl-devel patch perl \ | |
907 perl-XML-Parser pkg-config scons \ | |
908 sed unzip wget xz</pre> | |
909 | |
910 <h3 id="requirements-opensuse64">openSUSE 11.3 x86_64 (additional)</h3> | |
911 <pre>zypper install -R gcc-32bit glibc-devel-32bit \ | |
912 libgcc45-32bit libgomp45-32bit \ | |
913 libstdc++45-devel-32bit</pre> | |
914 </div> | |
915 | |
916 <div class="section"> | |
917 <h2 id="usage">Usage</h2> | |
918 | |
919 <p> | |
920 All build commands also download the packages if necessary. | |
921 </p> | |
922 | |
923 <dl class="usage"> | |
924 | |
925 <dt>make</dt> | |
926 | |
927 <dd> | |
928 build all packages, | |
929 non-parallel | |
930 </dd> | |
931 | |
932 <dt>make gcc</dt> | |
933 | |
934 <dd> | |
935 build a minimal useful set of packages, | |
936 i.e. the cross compilers | |
937 and the most basic packages, | |
938 non-parallel | |
939 </dd> | |
940 | |
941 <dt>make foo bar</dt> | |
942 | |
943 <dd> | |
944 build packages "foo", "bar" and their dependencies, | |
945 non-parallel | |
946 </dd> | |
947 | |
948 <dt>make foo bar -j 4 JOBS=2</dt> | |
949 | |
950 <dd> | |
951 build packages "foo", "bar" and their dependencies, | |
952 where up to 4 packages are build in parallel, | |
953 each with up to 2 compiler processes running in parallel | |
954 </dd> | |
955 | |
956 <dt>make download</dt> | |
957 | |
958 <dd> | |
959 download all packages, | |
960 non-parallel, | |
961 such that subsequent builds work without internet access | |
962 </dd> | |
963 | |
964 <dt>make download-foo download-bar</dt> | |
965 | |
966 <dd> | |
967 download packages "foo", "bar" and their dependencies, | |
968 non-parallel | |
969 </dd> | |
970 | |
971 <dt>make download-foo download-bar -j 4</dt> | |
972 | |
973 <dd> | |
974 download packages "foo", "bar" and their dependencies, | |
975 where up to 4 packages are downloaded in parallel | |
976 </dd> | |
977 | |
978 <dt>make strip</dt> | |
979 | |
980 <dd> | |
981 strip all package builds and remove unnecessary files | |
982 </dd> | |
983 | |
984 <dt>make clean</dt> | |
985 | |
986 <dd> | |
987 remove all package builds | |
988 – use with caution! | |
989 </dd> | |
990 | |
991 <dt>make clean-pkg</dt> | |
992 | |
993 <dd> | |
994 remove all unused package files, | |
995 handy after a successful update | |
996 </dd> | |
997 | |
998 <dt>make update</dt> | |
999 | |
1000 <dd> | |
1001 for internal use only! | |
1002 – | |
1003 update the version numbers of all packages, | |
1004 download the new versions and note their checksums | |
1005 </dd> | |
1006 | |
1007 <dt>make dist</dt> | |
1008 | |
1009 <dd> | |
1010 build a source distribution tarball and the website | |
1011 </dd> | |
1012 | |
1013 </dl> | |
1014 </div> | |
1015 | |
1016 <div class="section"> | |
1017 <h2 id="packages">List of Packages</h2> | |
1018 | |
1019 <table id="package-list"> | |
1020 </table> | |
1021 <p> | |
1022 See something missing? Feel free to <a href="#creating-packages">create a new package</a>. | |
1023 </p> | |
1024 </div> | 1036 </div> |
1025 | 1037 |
1026 <div class="section"> | 1038 <div class="section"> |
1027 <h2 id="copyright">Copyright © 2007, 2008, 2009, 2010</h2> | 1039 <h2 id="copyright">Copyright © 2007, 2008, 2009, 2010</h2> |
1028 | 1040 |