You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
5.8 KiB

Index: erts/emulator/Makefile.in
--- erts/emulator/Makefile.in.orig 2010-12-07 16:07:22.000000000 +0100
+++ erts/emulator/Makefile.in 2010-12-09 17:06:47.000000000 +0100
@@ -617,7 +617,7 @@
$(OBJDIR)/%.o: beam/%.c
- $(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
+ $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
$(OBJDIR)/%.o: $(TARGET)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
Index: erts/emulator/hipe/hipe_x86.c
--- erts/emulator/hipe/hipe_x86.c.orig 2010-12-07 16:07:22.000000000 +0100
+++ erts/emulator/hipe/hipe_x86.c 2010-12-09 17:23:16.000000000 +0100
@@ -130,7 +130,7 @@
abort();
map_start = mmap(map_hint, map_bytes,
PROT_EXEC|PROT_READ|PROT_WRITE,
- MAP_PRIVATE|MAP_ANONYMOUS
+ MAP_PRIVATE|MAP_ANON
#ifdef __x86_64__
|MAP_32BIT
#endif
Index: lib/erl_interface/src/connect/ei_resolve.c
--- lib/erl_interface/src/connect/ei_resolve.c.orig 2010-12-07 16:07:22.000000000 +0100
+++ lib/erl_interface/src/connect/ei_resolve.c 2010-12-09 17:23:16.000000000 +0100
@@ -54,6 +54,10 @@
#include "ei_resolve.h"
#include "ei_locking.h"
+#if defined(HAVE_GETHOSTBYNAME_R) && defined(__FreeBSD__)
+#undef HAVE_GETHOSTBYNAME_R
+#endif
+
#ifdef HAVE_GETHOSTBYNAME_R
void ei_init_resolve(void)
Index: lib/gs/src/tool_utils.erl
--- lib/gs/src/tool_utils.erl.orig 2010-12-07 16:07:22.000000000 +0100
+++ lib/gs/src/tool_utils.erl 2010-12-09 17:23:16.000000000 +0100
@@ -40,6 +40,9 @@
}).
+%% Browser executable list (openURL command line protocol required)
+-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera", "firefox", "seamonkey"]).
+
%%----------------------------------------------------------------------
%% open_help(Parent, File)
%% Parent = gsobj() (GS root object or parent window)
@@ -80,7 +83,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"start " ++ filename:nativename(File);
@@ -95,7 +98,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"netscape.exe -h " ++ regexp:gsub(File,"\\\\","/");
@@ -429,3 +432,53 @@
[Last];
insert_newlines(Other) ->
Other.
+
+%% find_browser(BrowserList) => string() | false
+%% BrowserList - [string()]
+%% Given a list of basenames, find the first available executable.
+
+find_browser([]) ->
+ false;
+
+find_browser([H | T]) ->
+ case os:find_executable(H) of
+ false ->
+ find_browser(T);
+ Browser ->
+ Browser
+ end.
+
+%% unix_url_command(URL) => string()
+%% URL - string()
+%% Open an URL, using a browser which supports the openURL command
+%% line protocol. If no browser is found, the empty string will be
+%% returned.
+
+unix_url_command(URL) ->
+ Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
+
+ case os:getenv("BROWSER") of
+ false ->
+ %% look for a compatible browser
+ case find_browser(?BROWSERS) of
+ false ->
+ "";
+ Browser ->
+ case regexp:gsub(Template, "BROWSER", Browser) of
+ {ok, Command, 0} ->
+ %% Template does not contain "BROWSER" placeholder
+ "";
+ {ok, Command, _} ->
+ Command
+ end
+ end;
+
+ Value ->
+ case regexp:gsub(Template, "BROWSER", Value) of
+ {ok, Command2, 0} ->
+ %% no placeholder
+ "";
+ {ok, Command2, _} ->
+ Command2
+ end
+ end.
Index: lib/hipe/regalloc/Makefile
--- lib/hipe/regalloc/Makefile.orig 2010-12-07 16:07:22.000000000 +0100
+++ lib/hipe/regalloc/Makefile 2010-12-09 17:23:16.000000000 +0100
@@ -46,7 +46,6 @@
hipe_node_sets hipe_spillcost hipe_reg_worklists \
hipe_adj_list \
hipe_temp_map \
- hipe_optimistic_regalloc \
hipe_coalescing_regalloc \
hipe_graph_coloring_regalloc \
hipe_regalloc_loop \
Index: lib/stdlib/src/calendar.erl
--- lib/stdlib/src/calendar.erl.orig 2010-12-07 16:07:22.000000000 +0100
+++ lib/stdlib/src/calendar.erl 2010-12-09 17:23:16.000000000 +0100
@@ -216,11 +216,19 @@
-spec local_time_to_universal_time_dst(t_datetime1970()) -> [t_datetime1970()].
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->
Index: lib/tools/emacs/test.erl
Index: lib/wx/configure
--- lib/wx/configure.orig 2010-12-07 16:07:22.000000000 +0100
+++ lib/wx/configure 2010-12-09 17:23:16.000000000 +0100
@@ -3910,7 +3910,7 @@
;;
*)
DEBUG_CFLAGS="-g -Wall -fPIC -DDEBUG $CFLAGS"
- CFLAGS="-g -Wall -O2 -fPIC -fomit-frame-pointer -fno-strict-aliasing $CFLAGS"
+ CFLAGS="-Wall -fPIC -fomit-frame-pointer -fno-strict-aliasing $CFLAGS %%CFLAGS%%"
;;
esac