51 Commits

Author SHA1 Message Date
Joshua Peek
acd913593a Clear CDPATH to avoid make issues that depend on changing directories 2009-09-14 20:33:47 +01:00
Max Howell
3f11c4ab1f Escape $ inreplace 'after' parameter 2009-09-14 20:33:46 +01:00
Joshua Peek
111a75d262 Add llvm switch to ENV 2009-09-10 18:17:15 +01:00
Max Howell
a2cd3367a8 ENV.no_optimization
For when we optimize too much and things seem to break. In my experience the
GCC optimizer is pretty safe nowadays, but at least this allows you to test
the hypothesis the optimization is breaking the build.
2009-09-05 14:38:38 +01:00
Adam Vandenberg
ef88db9d38 Nehalem supports SSE4.2
Signed Off By: Max Howell <max@methylblue.com>

I realised that -msse4.1 and -msse4.2 aren't supported by GCC 4.0, so I made
the brash decision that we require GCC 4.2. It comes with Xcode 3.1 so people
can upgrade if they have to.

Requiring a single compiler is better for us anyway -- less possible errors
and failures.

Formulae can still request gcc-4.0.1, but at least then those formulae still
only use a single compiler and not possibly two.
2009-09-04 18:54:43 +01:00
Max Howell
d11165cd97 Fixes Homebrew/homebrew#30 -- GCC can't create executables
The fix is to error out if GCC isn't installed, and to ensure we aren't
setting CC and CXX to something that doesn't exist.
2009-09-04 15:54:27 +01:00
Tom von Schwerdtner
4d940628cc Plain Core Duo can't execute 64 bit code 2009-09-04 15:40:31 +01:00
Ben Alpert
c6d98678ac Fix SSE support on Core 2 processors
DRY it off a bit.
2009-09-04 15:30:45 +01:00
Max Howell
a12569699e Fix some "GCC cannot create executables"
This regards Issue Homebrew/homebrew#30.

Turns out -march=native isn't supported by Apple's GCC, but while investigating it I found they'd back ported the -march=core2 option, so we win anyway.

Logic reverted to how it was yesterday.

I moved the gcc options stuff back to brewkit.rb as we manipulate the cflags more later and it seemed bad form to split the logic for this area over two files.

Additionally the brew command exits immediately on powerpc now. Brewkit doesn't throw as theoretically it is a useful library file for other projects.
2009-09-03 22:39:49 +01:00
spicyj
ba8ba4c451 Improvements to build environment determination
Simplified hardware model testing.

Even smarter compiler option generation using sysctl and new GCC 4.2 features.

Get processor count from sysctl and thus remove our dependency on RubyCocoa.
2009-09-03 16:34:31 +01:00
Max Howell
ce3b7c9826 Fix apr formula by aliasing deparallelize to j1 2009-09-02 23:20:15 +01:00
Max Howell
fbda4b45d6 Build optimisations for 64 bit Snow Leopard
Specifying -v/--verbose shows the build environment before the build

MACOS_VERSION contains the floating point value of the OS X version

A test for some floating point assumptions I make
2009-09-02 15:07:18 +01:00
Max Howell
4d63b87e0a Change license to BSD
I confirmed this change with all relevant contributors first.
2009-08-31 16:09:17 +01:00
Max Howell
2b29e052fc reinreplace uses safe_system 2009-08-24 01:04:54 +01:00
Max Howell
72bde8c583 Move download strategies into their own file 2009-08-24 01:04:53 +01:00
Max Howell
90ea28f6ba Remove MacPorts and Fink from the build environment
Closes Homebrew/homebrew#13
2009-08-11 14:52:45 +01:00
Max Howell
0f0f775ea9 Escape / in before inreplace too 2009-08-10 23:32:13 +01:00
Max Howell
bae67c110f Fix inreplace and yajl formula 2009-08-10 18:12:16 +01:00
Max Howell
7653d48443 ENV.libpng
libpng and that are in the X11 formula
2009-08-10 18:12:16 +01:00
Max Howell
dccc2b1923 Apply new ENV capabilities to all existing Formulae 2009-08-10 18:11:22 +01:00
Max Howell
5a396fd8b4 Extend ENV to make tweaking the build environment easier
eg. ENV.libpng or ENV.deparallelize
2009-08-10 16:48:21 +01:00
Max Howell
a5ca752658 Refactor and clean up code 2009-08-01 18:10:20 +01:00
Max Howell
7cb9c31f3e Determine best optimization flags for host
We call sysctl to determine which exact Mac model we are running on and
optimize as well as possible.
2009-07-31 16:06:14 +01:00
Max Howell
9b19f194cc Refactor $foo into HOMEBREW_FOO
CONSTANTS are the far saner choice for these important parameters.

Split env up so I can redefine the CONSTANTS in unittest.rb.
2009-07-31 04:59:02 +01:00
Max Howell
822a30e39d Fix inreplace when using ' or other RegExp symbols
Evidence that using perl from the cli for in-replace is stupid :P

Had to use $'' to allow escaping of ' in bash strings.

Wasn't escaping regexp symbols as well, so it was amazing this worked at all!
2009-07-27 16:20:48 +01:00
Max Howell
7ebe8084ec Enforce 10.5 as minimum OSX SDK framework to use 2009-07-27 16:18:17 +01:00
Max Howell
fb5aefd4a0 Refactor--object orientate where sensible 2009-07-24 23:57:54 +01:00
Max Howell
5eb9d6519d Fix ack formula 2009-07-23 04:12:25 +01:00
Max Howell
34955880d5 Fix issues with Pathname.install and arrays 2009-07-23 01:14:22 +01:00
Max Howell
32281b7a7f Fix hard link dissociation bug
strip unlinks the file first, breaking hard links, so we detect instances where we are about to strip a file with many linkages and prevent it.

This fixes the libexec non executable bug in the git package.

Took me a long time to figure out what was wrong! :P
2009-07-22 20:28:42 +01:00
Max Howell
17968f51c4 Support gloox version style 2009-07-10 03:11:05 +01:00
Max Howell
3f61cb19a4 Make scripts executable by default
Though maybe we should only do that if they were before?
2009-07-10 00:36:16 +01:00
Max Howell
dba2a53216 Use ~/Library/Caches not ~/Library/Application Support for http-cache 2009-06-28 17:35:04 +01:00
Max Howell
a648e46d8a Leave permissions of installed files in sensible state
No write permission for files, executable when required etc.
2009-06-26 13:05:48 +01:00
Max Howell
6e9a564021 foobar-1.2.1rc1 version pattern 2009-06-18 10:31:23 +01:00
Max Howell
b1a628cc99 mv share/doc/name-version to share/doc/name
Versioned docs don't make sense with our installation pattern
2009-06-18 10:31:15 +01:00
Max Howell
eaad8393fd Rename mv_from to install 2009-06-15 00:55:18 +01:00
Max Howell
b3b78eceeb Test for astyle versioning 2009-06-15 00:54:58 +01:00
Max Howell
a2c723e326 Formula.man1 function is useful to us 2009-06-08 15:58:52 +01:00
Max Howell
26590df324 Pathname.mv_from is useful to us 2009-06-08 15:57:58 +01:00
Max Howell
9003225a34 Another version test 2009-06-08 15:57:24 +01:00
Max Howell
21a935bb02 clean deep into lib and bin dirs 2009-06-08 11:44:04 +01:00
Max Howell
71a6287409 Handle exceptions during install correctly
rm -rf the prefix and build dirs when appropriate.
2009-06-08 11:43:28 +01:00
Max Howell
cbbc7b0f0f Better version extraction and more flexible funcs 2009-06-08 11:42:28 +01:00
Max Howell
b3b14a7e0a Refactor class heirarchy 2009-06-05 23:39:56 +01:00
Max Howell
fe28368697 Catch all exceptions in brew
And thus recover from errors always, not just sometimes.
2009-06-05 23:36:40 +01:00
Max Howell
97eb5a8292 Move caveat handling to brew tool 2009-06-05 13:43:49 +01:00
Max Howell
e585686b01 Fix GithubGistFormula 2009-06-05 12:57:37 +01:00
Max Howell
96ddd7ee05 Bump VERSION to 0.2 2009-06-05 07:49:45 +01:00
Max Howell
ddfd15bcf2 mkpath prefix before install in brew command 2009-06-04 19:39:05 +01:00