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&nbsp;compiling environment</h1> 110 <h1>MinGW cross&nbsp;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 &ndash; 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 &ndash;
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 &ndash; as long as it has it's own website, 846 &ndash; 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>&rarr;</td><td>$(SHELL)</td></tr> 1006 <tr><td><code>bash</code></td> <td>&rarr;</td><td><code>$(SHELL)</code></td></tr>
654 <tr><td>install</td> <td>&rarr;</td><td>$(INSTALL)</td></tr> 1007 <tr><td><code>install</code></td> <td>&rarr;</td><td><code>$(INSTALL)</code></td></tr>
655 <tr><td>libtoolize</td><td>&rarr;</td><td>$(LIBTOOLIZE)</td></tr> 1008 <tr><td><code>libtoolize</code></td><td>&rarr;</td><td><code>$(LIBTOOLIZE)</code></td></tr>
656 <tr><td>make</td> <td>&rarr;</td><td>$(MAKE)</td></tr> 1009 <tr><td><code>make</code></td> <td>&rarr;</td><td><code>$(MAKE)</code></td></tr>
657 <tr><td>patch</td> <td>&rarr;</td><td>$(PATCH)</td></tr> 1010 <tr><td><code>patch</code></td> <td>&rarr;</td><td><code>$(PATCH)</code></td></tr>
658 <tr><td>sed</td> <td>&rarr;</td><td>$(SED)</td></tr> 1011 <tr><td><code>sed</code></td> <td>&rarr;</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 &ndash; 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 &ndash;
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