diff options
author | Keri Harris <keri@gentoo.org> | 2006-10-10 07:48:20 +0000 |
---|---|---|
committer | Keri Harris <keri@gentoo.org> | 2006-10-10 07:48:20 +0000 |
commit | 1ffef3e8b9c924b508ab556030e404198f473797 (patch) | |
tree | 6b636d44bbf3cf53486e0cc3c6f60d5b4774abd5 /dev-lang | |
parent | Added missing libXpm dependancy. Closes bug #150643. Wiped out previous relea... (diff) | |
download | gentoo-2-1ffef3e8b9c924b508ab556030e404198f473797.tar.gz gentoo-2-1ffef3e8b9c924b508ab556030e404198f473797.tar.bz2 gentoo-2-1ffef3e8b9c924b508ab556030e404198f473797.zip |
Parallelize mmake.
(Portage version: 2.1.2_pre2-r5)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/mercury-extras/ChangeLog | 7 | ||||
-rw-r--r-- | dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch | 637 | ||||
-rw-r--r-- | dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild | 28 |
3 files changed, 664 insertions, 8 deletions
diff --git a/dev-lang/mercury-extras/ChangeLog b/dev-lang/mercury-extras/ChangeLog index 257ff33e3efb..44967a2724bd 100644 --- a/dev-lang/mercury-extras/ChangeLog +++ b/dev-lang/mercury-extras/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-lang/mercury-extras # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.44 2006/10/06 23:33:57 keri Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.45 2006/10/10 07:48:20 keri Exp $ + + 10 Oct 2006; keri <keri@gentoo.org> + +files/mercury-extras-0.12.2-parallel-mmake.patch, + mercury-extras-0.12.2-r2.ebuild: + Parallelize mmake 06 Oct 2006; keri <keri@gentoo.org> mercury-extras-0.12.2-r2.ebuild: Do not pre-strip binaries. diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch new file mode 100644 index 000000000000..938af3b43fc3 --- /dev/null +++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch @@ -0,0 +1,637 @@ +diff -urN mercury-extras-0.12.2.orig/curs/curs.m mercury-extras-0.12.2/curs/curs.m +--- mercury-extras-0.12.2.orig/curs/curs.m 2006-10-10 19:42:19.000000000 +1300 ++++ mercury-extras-0.12.2/curs/curs.m 2006-10-10 20:06:42.000000000 +1300 +@@ -30,7 +30,7 @@ + + :- import_module bool, io, string, char, int. + +- ++:- include_module curs__panel. + + % Start a curses session (colour, unbuffered input, no echoing, + % invisible cursor if possible, scrolling on when output past +@@ -220,104 +220,6 @@ + :- func cyan = colour. + :- func white = colour. + +- % ------------------------------------------------------------------------ % +- % ------------------------------------------------------------------------ % +- +- % Panels are windows over the main display; they may be +- % stacked, moved, ordered and hidden. Contents of panels +- % closer to the top of the stack obscure the parts of panels +- % they overlap that are lower in the stack. +- % +- :- module panel. +- +- :- interface. +- +- +- +- :- type panel. +- +- % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel +- % Panel whose size is given by (Rows, Cols) and whose position +- % on the display is given by (Row, Col). The new panel starts +- % visible and at the top of the stack. The default attributes +- % for the panel are set to Attr. +- % +- :- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out, +- io__state::di, io__state::uo) is det. +- +- % Destroy a panel. +- % +- :- pred delete(panel::in, io__state::di, io__state::uo) is det. +- +- % Raise/lower a panel to the top/bottom of the stack. +- % +- :- pred raise(panel::in, io__state::di, io__state::uo) is det. +- +- :- pred lower(panel::in, io__state::di, io__state::uo) is det. +- +- % Hide/reveal a panel (revealing places it at the top of the stack). +- % +- :- pred hide(panel::in, io__state::di, io__state::uo) is det. +- +- :- pred reveal(panel::in, io__state::di, io__state::uo) is det. +- +- % Move a panel to (Row, Col) on the display. +- % +- :- pred relocate(panel::in, int::in, int::in, +- io__state::di, io__state::uo) is det. +- +- % Clear a panel. +- % +- :- pred clear(panel::in, io__state::di, io__state::uo) is det. +- +- % Move the virtual cursor to given row and column; (0, 0) are the +- % coordinates for the upper left hand corner of the panel. +- % +- :- pred move(panel::in, int::in, int::in, +- io__state::di, io__state::uo) is det. +- +- % Add a char/string to a panel with the given attributes. +- % Note that char codes are passed rather than plain chars. +- % +- :- pred addch(panel::in, attr::in, int::in, +- io__state::di, io__state::uo) is det. +- +- :- pred addstr(panel::in, attr::in, string::in, +- io__state::di, io__state::uo) is det. +- +- % Turn on/off or set attributes that will be applied by default. +- % +- :- pred attr_on(panel::in, attr::in, io__state::di, io__state::uo) is det. +- :- pred attr_off(panel::in, attr::in, io__state::di, io__state::uo) is det. +- :- pred attr_set(panel::in, attr::in, io__state::di, io__state::uo) is det. +- +- % Update the display (also calls doupdate). +- % NOTE that doupdate does not call update_panels. +- % +- :- pred update_panels(io__state::di, io__state::uo) is det. +- +- +- +- % Draws a border around the inside edge of the display. +- % +- :- pred border(panel::in, io__state::di, io__state::uo) is det. +- +- % Draws an horizontal line of length N moving to the right. +- % +- :- pred hline(panel::in, int::in, int::in, +- io__state::di, io__state::uo) is det. +- +- % Draws a vertical line of length N moving down. +- % +- :- pred vline(panel::in, int::in, int::in, +- io__state::di, io__state::uo) is det. +- +- :- end_module panel. +- +- % ------------------------------------------------------------------------ % +- % ------------------------------------------------------------------------ % +- +-% ---------------------------------------------------------------------------- % + % ---------------------------------------------------------------------------- % + + :- implementation. +@@ -936,219 +838,4 @@ + + "). + +- % ------------------------------------------------------------------------ % +- % ------------------------------------------------------------------------ % +- +- :- module panel. +- +- :- implementation. +- +- :- type panel == c_pointer. +- +- % ------------------------------------------------------------------------ % +- +- :- pragma c_header_code(" +- +- #include <ncurses.h> +- #include <panel.h> +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", new(Rows::in, Cols::in, Row::in, Col::in, Attr::in, +- Panel::out, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- WINDOW *w = newwin(Rows, Cols, Row, Col); +- scrollok(w, TRUE); +- wattrset(w, Attr); +- wcolor_set(w, Attr, NULL); +- wclear(w); +- (*(PANEL**)&(Panel)) = new_panel(w); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", delete(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- delwin(panel_window((PANEL *)Panel)); +- del_panel((PANEL *)Panel); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", raise(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- top_panel((PANEL *)Panel); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", lower(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- bottom_panel((PANEL *)Panel); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", hide(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- hide_panel((PANEL *)Panel); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", reveal(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- show_panel((PANEL *)Panel); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- move_panel((PANEL *)Panel, Row, Col); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", clear(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wclear(panel_window((PANEL *)Panel)); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", move(Panel::in, Row::in, Col::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wmove(panel_window((PANEL *)Panel), Row, Col); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- waddch(panel_window((PANEL *)Panel), (chtype)Attr | (chtype)CharCode); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- addstr(Panel, Attr, Str) --> +- string__foldl( +- ( pred(Char::in, di, uo) is det --> +- addch(Panel, Attr, char__to_int(Char)) +- ), +- Str +- ). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", attr_on(Panel::in, Attr::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wattron(panel_window((PANEL *)Panel), Attr); +- IO = IO0; +- +- "). +- :- pragma foreign_proc("C", attr_off(Panel::in, Attr::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wattroff(panel_window((PANEL *)Panel), Attr); +- IO = IO0; +- +- "). +- :- pragma foreign_proc("C", attr_set(Panel::in, Attr::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wattrset(panel_window((PANEL *)Panel), Attr); +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", update_panels(IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- update_panels(); +- doupdate(); +- +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- pragma foreign_proc("C", border(Panel::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wborder(panel_window((PANEL *)Panel), 0, 0, 0, 0, 0, 0, 0, 0); +- IO = IO0; +- +- "). +- +- :- pragma foreign_proc("C", hline(Panel::in, C::in, N::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- whline(panel_window((PANEL *)Panel), C, N); +- IO = IO0; +- +- "). +- +- :- pragma foreign_proc("C", vline(Panel::in, C::in, N::in, IO0::di, IO::uo), +- [will_not_call_mercury, promise_pure], " +- +- wvline(panel_window((PANEL *)Panel), C, N); +- IO = IO0; +- +- "). +- +- % ------------------------------------------------------------------------ % +- +- :- end_module panel. +- +- % ------------------------------------------------------------------------ % +- % ------------------------------------------------------------------------ % +- +-% ---------------------------------------------------------------------------- % + % ---------------------------------------------------------------------------- % +diff -urN mercury-extras-0.12.2.orig/curs/curs.panel.m mercury-extras-0.12.2/curs/curs.panel.m +--- mercury-extras-0.12.2.orig/curs/curs.panel.m 1970-01-01 12:00:00.000000000 +1200 ++++ mercury-extras-0.12.2/curs/curs.panel.m 2006-10-10 20:07:35.000000000 +1300 +@@ -0,0 +1,296 @@ ++% ------------------------------------------------------------------------ % ++ ++ % Panels are windows over the main display; they may be ++ % stacked, moved, ordered and hidden. Contents of panels ++ % closer to the top of the stack obscure the parts of panels ++ % they overlap that are lower in the stack. ++ % ++:- module curs__panel. ++ ++:- interface. ++ ++ ++ ++:- type panel. ++ ++ % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel ++ % Panel whose size is given by (Rows, Cols) and whose position ++ % on the display is given by (Row, Col). The new panel starts ++ % visible and at the top of the stack. The default attributes ++ % for the panel are set to Attr. ++ % ++:- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out, ++ io__state::di, io__state::uo) is det. ++ ++ % Destroy a panel. ++ % ++:- pred delete(panel::in, io__state::di, io__state::uo) is det. ++ ++ % Raise/lower a panel to the top/bottom of the stack. ++ % ++:- pred raise(panel::in, io__state::di, io__state::uo) is det. ++ ++:- pred lower(panel::in, io__state::di, io__state::uo) is det. ++ ++ % Hide/reveal a panel (revealing places it at the top of the stack). ++ % ++:- pred hide(panel::in, io__state::di, io__state::uo) is det. ++ ++:- pred reveal(panel::in, io__state::di, io__state::uo) is det. ++ ++ % Move a panel to (Row, Col) on the display. ++ % ++:- pred relocate(panel::in, int::in, int::in, ++ io__state::di, io__state::uo) is det. ++ ++ % Clear a panel. ++ % ++:- pred clear(panel::in, io__state::di, io__state::uo) is det. ++ ++ % Move the virtual cursor to given row and column; (0, 0) are the ++ % coordinates for the upper left hand corner of the panel. ++ % ++:- pred move(panel::in, int::in, int::in, ++ io__state::di, io__state::uo) is det. ++ ++ % Add a char/string to a panel with the given attributes. ++ % Note that char codes are passed rather than plain chars. ++ % ++:- pred addch(panel::in, attr::in, int::in, ++ io__state::di, io__state::uo) is det. ++ ++:- pred addstr(panel::in, attr::in, string::in, ++ io__state::di, io__state::uo) is det. ++ ++ % Turn on/off or set attributes that will be applied by default. ++ % ++:- pred attr_on(panel::in, attr::in, io__state::di, io__state::uo) is det. ++:- pred attr_off(panel::in, attr::in, io__state::di, io__state::uo) is det. ++:- pred attr_set(panel::in, attr::in, io__state::di, io__state::uo) is det. ++ ++ % Update the display (also calls doupdate). ++ % NOTE that doupdate does not call update_panels. ++ % ++:- pred update_panels(io__state::di, io__state::uo) is det. ++ ++ ++ ++ % Draws a border around the inside edge of the display. ++ % ++:- pred border(panel::in, io__state::di, io__state::uo) is det. ++ ++ % Draws an horizontal line of length N moving to the right. ++ % ++:- pred hline(panel::in, int::in, int::in, ++ io__state::di, io__state::uo) is det. ++ ++ % Draws a vertical line of length N moving down. ++ % ++:- pred vline(panel::in, int::in, int::in, ++ io__state::di, io__state::uo) is det. ++ ++% ------------------------------------------------------------------------ % ++ ++:- implementation. ++ ++:- type panel == c_pointer. ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma c_header_code(" ++ ++#include <ncurses.h> ++#include <panel.h> ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", new(Rows::in, Cols::in, Row::in, Col::in, Attr::in, ++ Panel::out, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ WINDOW *w = newwin(Rows, Cols, Row, Col); ++ scrollok(w, TRUE); ++ wattrset(w, Attr); ++ wcolor_set(w, Attr, NULL); ++ wclear(w); ++ (*(PANEL**)&(Panel)) = new_panel(w); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", delete(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ delwin(panel_window((PANEL *)Panel)); ++ del_panel((PANEL *)Panel); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", raise(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ top_panel((PANEL *)Panel); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", lower(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ bottom_panel((PANEL *)Panel); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", hide(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ hide_panel((PANEL *)Panel); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", reveal(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ show_panel((PANEL *)Panel); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ move_panel((PANEL *)Panel, Row, Col); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", clear(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wclear(panel_window((PANEL *)Panel)); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", move(Panel::in, Row::in, Col::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wmove(panel_window((PANEL *)Panel), Row, Col); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ waddch(panel_window((PANEL *)Panel), (chtype)Attr | (chtype)CharCode); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++addstr(Panel, Attr, Str) --> ++ string__foldl( ++ ( pred(Char::in, di, uo) is det --> ++ addch(Panel, Attr, char__to_int(Char)) ++ ), ++ Str ++ ). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", attr_on(Panel::in, Attr::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wattron(panel_window((PANEL *)Panel), Attr); ++ IO = IO0; ++ ++"). ++:- pragma foreign_proc("C", attr_off(Panel::in, Attr::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wattroff(panel_window((PANEL *)Panel), Attr); ++ IO = IO0; ++ ++"). ++:- pragma foreign_proc("C", attr_set(Panel::in, Attr::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wattrset(panel_window((PANEL *)Panel), Attr); ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", update_panels(IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ update_panels(); ++ doupdate(); ++ ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % ++ ++:- pragma foreign_proc("C", border(Panel::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wborder(panel_window((PANEL *)Panel), 0, 0, 0, 0, 0, 0, 0, 0); ++ IO = IO0; ++ ++"). ++ ++:- pragma foreign_proc("C", hline(Panel::in, C::in, N::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ whline(panel_window((PANEL *)Panel), C, N); ++ IO = IO0; ++ ++"). ++ ++:- pragma foreign_proc("C", vline(Panel::in, C::in, N::in, IO0::di, IO::uo), ++ [will_not_call_mercury, promise_pure], " ++ ++ wvline(panel_window((PANEL *)Panel), C, N); ++ IO = IO0; ++ ++"). ++ ++% ------------------------------------------------------------------------ % diff --git a/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild b/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild index 53c7c4e524b6..d78dd3e0a5f5 100644 --- a/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild +++ b/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild,v 1.7 2006/10/06 23:33:57 keri Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild,v 1.8 2006/10/10 07:48:20 keri Exp $ inherit eutils @@ -29,6 +29,7 @@ src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}"/${P}-gcc4.patch + epatch "${FILESDIR}"/${P}-parallel-mmake.patch epatch "${FILESDIR}"/${P}-concurrency.patch epatch "${FILESDIR}"/${P}-dynamic_linking.patch epatch "${FILESDIR}"/${P}-lex.patch @@ -60,26 +61,39 @@ src_unpack() { src_compile() { mmake depend || die "mmake depend failed" - mmake EXTRA_MLFLAGS=--no-strip || die "mmake failed" + mmake \ + MMAKEFLAGS="${MAKEOPTS}" \ + EXTRA_MLFLAGS=--no-strip \ + || die "mmake failed" if use opengl && use tcl && use tk ; then cd "${S}"/graphics/mercury_opengl cp ../mercury_tcltk/mtcltk.m ./ - mmake -f Mmakefile.mtogl depend || die "mmake depend mtogl failed" - mmake -f Mmakefile.mtogl || die "mmake mtogl failed" + mmake \ + -f Mmakefile.mtogl depend \ + || die "mmake depend mtogl failed" + mmake \ + MMAKEFLAGS="${MAKEOPTS}" \ + -f Mmakefile.mtogl \ + || die "mmake mtogl failed" fi } src_install() { cd "${S}" - mmake INSTALL_PREFIX="${D}"/usr install || die "mmake install failed" + mmake \ + MMAKEFLAGS="${MAKEOPTS}" \ + INSTALL_PREFIX="${D}"/usr install \ + || die "mmake install failed" if use opengl && use tcl && use tk ; then cd "${S}"/graphics/mercury_opengl mv Mmakefile Mmakefile.opengl mv Mmakefile.mtogl Mmakefile - mmake INSTALL_PREFIX="${D}"/usr \ - install || die "mmake install mtogl failed" + mmake \ + MMAKEFLAGS="${MAKEOPTS}" \ + INSTALL_PREFIX="${D}"/usr install \ + || die "mmake install mtogl failed" fi find "${D}"/usr/lib/mercury-${PV} -type l | xargs rm |