Commit Graph

317 Commits

Author SHA1 Message Date
jasper
a296057f8c - add a -d flag to show the directory in which the outdated port resides
original diff by giovanni@, reworked by me to not alter default output
ok giovanni@ sthen@
2009-10-22 08:44:44 +00:00
steven
685bd523ac cleanup unused variable 2009-10-18 08:32:19 +00:00
steven
16d0c32f3c separate lists of static and shared libraries
this makes xenocara build.
2009-10-17 14:40:22 +00:00
steven
84737a0d1c clean up a bit, and save some time 2009-10-15 15:20:34 +00:00
steven
de328a6e74 better regex 2009-10-15 13:48:11 +00:00
steven
3628fb6ff2 try to cope with people passing /path/libfoo.so.X.Y instead of -lfoo
if a static library has been found, don't search for it again.
2009-10-15 13:46:23 +00:00
steven
3197dd1add no need for fiddling with deplibs again here 2009-10-15 11:26:08 +00:00
steven
90acfab4e5 revert some of the previous; we need this to deal with convenience libs 2009-10-15 11:16:10 +00:00
phessler
3c719e581d allow us to run make update-patches when WRKDIST has spaces in it.
OK espie@
2009-10-15 10:48:05 +00:00
steven
d514f1eb1d remove unneeded extract_archive function 2009-10-15 09:39:45 +00:00
steven
7b6089698d cleanup; this seems to work better 2009-10-14 22:03:16 +00:00
steven
1adbca4d86 shut up if not in debug mode 2009-10-14 18:22:03 +00:00
steven
24132ef048 use find method here as well, as the object data might not have been filled 2009-10-14 16:03:02 +00:00
steven
869d85c921 make guess_implicit_mode work again 2009-10-14 14:28:22 +00:00
steven
dd74eb33f1 register directory where static lib can be found
add missing newline
2009-10-14 14:14:21 +00:00
steven
cb183eb8c6 run find unconditionally 2009-10-14 14:05:33 +00:00
steven
fa7822ef2f sigh, install programs do not always take options 2009-10-14 13:42:41 +00:00
steven
faaa9351fc if (defined $a) instead of (if $a) for the -release option, as it may be 0 2009-10-14 12:28:44 +00:00
steven
38fc564f05 move some library finding code out of the parser
store the .la file path in the library object for later use
fix a bug where we lost some of the command line arguments
this makes more stuff build again and improves static linking
2009-10-14 11:31:50 +00:00
steven
e6877d2f2a read architecture from the perl configuration 2009-10-14 09:06:17 +00:00
steven
d319580241 some small fixes after previous changes 2009-10-13 23:26:41 +00:00
steven
1499055d06 move find_la subroutine into LaFile package 2009-10-13 21:19:15 +00:00
steven
cfe5f8d02a make substitution code a bit shorter 2009-10-13 20:56:45 +00:00
steven
ec6069f4f3 - write SHARED_LIBS_LOG file
- fix stringize to return 0 instead of empty string if the value is 0
2009-10-13 18:22:57 +00:00
steven
fddecfb227 start at putting library info into an object 2009-10-13 17:11:21 +00:00
steven
553d8c3311 this should work better 2009-10-13 14:23:12 +00:00
steven
1029d10105 restrict scope of a few variables; initialize them in link mode only 2009-10-13 13:55:12 +00:00
steven
5f959feb9a move all the parsing subroutines from main into a parser class
much more moving around is needed
2009-10-13 13:30:31 +00:00
steven
028808fd21 remove another argument here 2009-10-12 19:02:14 +00:00
steven
4c6fbb3538 remove argument when not necessary 2009-10-12 18:31:37 +00:00
steven
fdbf9000c1 move a few lines and add missing argument 2009-10-12 18:14:55 +00:00
steven
f2f622fbaf more generic way to deal with multiple-argument commands
(compiler, linker, install program, etc)
2009-10-12 09:58:22 +00:00
steven
866707f683 avoid undef as reference 2009-10-11 20:50:33 +00:00
steven
16fa453f51 sigh, don't use glob here 2009-10-11 18:58:59 +00:00
steven
5e4c5f1c28 oops 2009-10-11 18:40:03 +00:00
steven
699cd8382e move some info related to executable into the object 2009-10-11 14:21:56 +00:00
steven
ee45027ef6 allow to link executables statically as well 2009-10-10 09:50:11 +00:00
steven
965b3c75bd when linking a program, take into account -static flag (not yet supported) 2009-10-09 22:24:56 +00:00
steven
fc74e89c10 be a bit smarter about executable wrapper creation by remembering linking
with a .la file which refers to a shared library
this should prevent wrapper files getting installed;
fixes dbus and wml ports, hope it does not break others :)
2009-10-09 21:23:42 +00:00
steven
f31c359143 zap trailing whitespace 2009-08-30 08:40:52 +00:00
sturm
3e2c7f0404 add some code to help find circular dependencies 2009-05-09 07:36:17 +00:00
steven
5793039c06 accept multiple forms of --version-info, adding default values where none
are specified (gnu behavior). this fixes math/kst
2009-02-16 22:04:28 +00:00
steven
238f39a692 deal with multiple linker options passed via one -Wl flag
fixes gnome/dasher
2009-02-16 21:22:56 +00:00
steven
14807835af rework logic around library linking, adding so called convenience libraries.
fixes build of a few ports, and doesn't seem to break anything else.
2009-02-16 20:02:42 +00:00
steven
b141d06793 parse linkargs after constructing object lists 2008-11-23 09:53:56 +00:00
steven
ae388464a0 small tweak 2008-11-23 08:47:05 +00:00
steven
fe4a14cc4a somewhat simpler 2008-11-22 10:04:19 +00:00
steven
7f7ea8f9cb move code a little bit 2008-11-22 09:58:03 +00:00
steven
1dcee94da4 move library linking to LaFile class 2008-11-19 21:11:17 +00:00
steven
2f6600d62f some trivial cleanup 2008-11-18 22:31:11 +00:00
steven
705208ac57 separate linking of executables into its own class 2008-11-18 22:16:44 +00:00
steven
0d384fb780 - use exec during installation as well
- cleaner way to filter -s out of install options
2008-11-16 21:58:17 +00:00
steven
da62d86b3c make the compiler program a list; fixes a few ports 2008-11-14 22:50:58 +00:00
steven
ca2029501c use reference instead of hash 2008-11-11 11:00:29 +00:00
steven
a6d6aed06a separate compile code into its own method 2008-11-11 10:46:14 +00:00
steven
176cb58ff7 don't use the shell, except for install mode (needs more tweaking)
use references in a few more places
check whether reference is defined before attempting to use it
2008-11-11 09:54:51 +00:00
steven
5538e2a4ec change logic deciding whether to add a version; should fix a few ports 2008-11-10 15:52:30 +00:00
steven
f973bf3a82 only use reverse_zap_duplicates_ref and get rid of the array version
ok espie
2008-11-10 15:01:54 +00:00
sthen
7ca677bed1 remove sh from no_shared_archs, ok steven@ 2008-11-10 08:46:21 +00:00
steven
f2bea3b294 reintroduce (incomplete) support for --config, needed by some ports 2008-11-09 12:37:35 +00:00
steven
11da5ccdac more use of references
go for it espie@
2008-11-09 12:29:54 +00:00
steven
68831eca93 - use reference in process_deplibs and a few other places
- avoid split/join ' ' dance
- prettier debug output

ok espie@
2008-11-09 10:30:54 +00:00
espie
15242ec79f oops2, committed stuff that's not ready yet along 2008-11-08 09:43:43 +00:00
espie
10a17a5002 oops 2008-11-08 09:41:25 +00:00
espie
e2c1942470 finish switching parse_linkargs and resolve_la to lists,
stop the join ' ', split /\s+/ dance.

use debug(&) to avoid computing debug messages when not needed.
(and cleanup some old variables that no longer exist)

okay steven@
2008-11-07 20:22:39 +00:00
espie
7408363065 tweak a few things:
- cache more stuff to avoid calling internal_resolve_la
- add a tracing facility
- start cleaning up more stuff.

okay steven@
2008-11-03 21:11:58 +00:00
espie
c17c566a6b Exec class to run things.
LaLoFile class to read/write la and lo files.
2008-11-01 13:06:16 +00:00
espie
131635f281 simplify parse_file a bit, okay steven@ 2008-10-31 10:28:05 +00:00
steven
bac6de4a16 add support for -export-symbols-regex, seems to work 2008-10-30 23:53:28 +00:00
steven
4cfa4bc828 support -export-symbols 2008-10-30 22:22:34 +00:00
steven
cdef84d3bb same search path debug info for find_la 2008-10-30 19:13:11 +00:00
steven
bfe5af2eef in find_lib, setup search path before starting search instead of modifying
some of the paths as we go; print search path in debug mode
rename a few variables for clarity
remove a spurious print statement

looks good to bernd
2008-10-30 19:02:19 +00:00
steven
e9fc27ce46 deal with multiple -rpath arguments; add the paths correctly to the run-time
path when linking an executable.

looks good to bernd@
2008-10-30 18:15:06 +00:00
steven
1440297f2c revert part of r1.35 which reversed deplibs, seems to cause very long loops 2008-10-30 15:03:07 +00:00
steven
2105813ddd don't add -pthread flag over and over again 2008-10-30 10:46:53 +00:00
steven
c2b79288a8 support -export-dynamic
from jakemsr@ long ago
2008-10-30 10:39:38 +00:00
steven
6a3d7e330e zap some rather useless features
bernd agrees
2008-10-29 23:13:22 +00:00
steven
cbf11d3bf6 convert some more lines to use the debug function 2008-10-29 23:09:07 +00:00
bernd
03982df912 foo.la files which have libdir set are going to be installed and should
end up in dependency_libs. ok steven
2008-10-29 16:16:49 +00:00
steven
8563b27b22 build static library if -rpath is not set
only fill in libdir if -rpath is set
2008-10-29 16:10:53 +00:00
steven
0d31269c32 error out if we cannot find a library file in the library hash
restrict addition of a flag to library link mode
2008-10-29 15:28:22 +00:00
steven
4ba440c926 use a subroutine for printing debug info
print some more debug info while here
2008-10-29 12:13:01 +00:00
steven
02481d9d12 revert a fix from bernd, it breaks other stuff
build deplibs the reverse way, seems to improve the ordering a bit
2008-10-29 10:09:33 +00:00
bernd
70853d5e36 Fix globbing to find libraries. ok steven 2008-10-28 17:16:31 +00:00
bernd
c884da49b1 Unbreak dependency_libs generation for .la files. ok steven 2008-10-28 17:15:00 +00:00
bernd
f2d591ad64 Print a warning if a lib isn't found in %libs so we don't try to use
an uninitialized variable.

steven agrees
2008-10-28 11:31:48 +00:00
bernd
61891ab14d parse_file now caches the file contents in %file_cache so we don't
have to to IO on the same files again and again.

don't skip any .la files in resolve_la yet to not break the order
(fixes misc/amanda)

added some debugging prints

ok steven
2008-10-28 11:16:27 +00:00
steven
401035aa94 find -lfoo libraries also inside ./.libs directory 2008-10-28 10:01:13 +00:00
steven
bec920d5eb try to use pic objects if no non-pic objects can be found
throw some warnings
2008-10-28 10:00:22 +00:00
steven
0dba86f80d use -whole-archive linker flag when linking a shared library with static
libraries
2008-10-28 09:58:55 +00:00
steven
826ea4d32c support -objectlist option; makes devel/cln build 2008-10-27 10:34:18 +00:00
steven
af0ac41778 slightly more readable
use same comment as gnu .la file
2008-10-27 09:36:42 +00:00
steven
e0416b8ada sort subs 2008-10-26 09:52:10 +00:00
steven
9fbc3582ca slight code reorg, somewhat more readable 2008-10-26 09:44:22 +00:00
sturm
2342cf4f65 BIN_PACKAGES is obsolete
from  Mikolaj Kucharski
2008-10-24 16:34:19 +00:00
steven
f259217b48 abort if neither a .la file nor a real library can be found 2008-10-20 21:00:30 +00:00
steven
728795eed1 don't try to strip .la files on installation
use same libtool version as in ports tree
2008-10-20 20:20:09 +00:00
steven
002ab91cdb -n is an alias for --dry-run 2008-10-20 20:16:05 +00:00
steven
211fecd1ec sort libraries by version number only instead of alphanumerically by filename
prevents libfoo.so.10.0 < libfoo.so.9.0

pointed out and similar diff by bluhm@ before ports lock
2008-10-10 20:32:28 +00:00
espie
553bc2d94c pkg_subst without file args acts as a filter 2008-06-09 12:01:39 +00:00
espie
252db942d7 copy rights and owner, based on jasper's remarks 2008-05-06 16:13:15 +00:00
steven
276ab95894 say it's experimental. avoid it for regular ports building for now... 2008-05-01 22:02:32 +00:00
espie
ade8f6f21e scaffold for CMD_SUBST 2008-04-07 11:10:16 +00:00
jakemsr
41e50b340e escape special characters in arguments before splitting arguments on
spaces.

ok steven@
2008-02-17 02:01:42 +00:00
simon
6692106c6c ease sending cpan reports by adding the default recipient address
requested by & ok okan@
2008-01-29 21:00:27 +00:00
simon
bf1bcd25c5 let `make regress' write test reports
to use it set CPAN_REPORT=Yes, CPAN_REPORT_FROM to your email address
and CPAN_REPORT_DB to a directory (like PLIST_DB)

initially by steven@
feedback from steven@, msf@, rui@, espie@, merdely@, okan@

ok msf@
2008-01-27 23:28:25 +00:00
steven
00e2cb6285 - store more info in .la files, simplifies the resolver
- process -R flags
- try to use the right -l flag
- skip prefer-pic/non-pic for now
- various tweaks
2007-11-16 15:37:20 +00:00
steven
2ff99c7644 don't create symlinks to static libraries 2007-11-09 15:20:57 +00:00
steven
fd610b14e1 install libraries with mode 644 if possible. 2007-11-05 12:45:34 +00:00
steven
011438b584 handle -prefer-pic and -prefer-non-pic options in compile mode.
shorten second getopt configuration line a bit.
2007-11-05 12:15:35 +00:00
steven
520b2657e2 also use -R flags when linking libraries, and add them into dependency_libs. 2007-11-05 11:27:34 +00:00
steven
3b08865b7c rework comments a bit 2007-11-03 13:40:08 +00:00
steven
8638149d6e handle current,revision,age stuff a bit better, and make sure it all gets
written in the .la file
2007-11-03 10:15:41 +00:00
steven
b5e8a26a13 drop -L flags containing .libs directories from installed .la file 2007-11-03 09:20:34 +00:00
steven
df477a7ef0 - library names don't have to start with 'lib'
- use libname.lax directory for extraction
- eliminate duplicates from dependency_libs
2007-11-03 08:47:46 +00:00
steven
2cd6019414 oops, keep -f test before creating a symlink 2007-11-01 17:21:25 +00:00
steven
cc9a22211a remove symlinks before creating them.
add --config output, only one variable for now which some port uses.
2007-11-01 10:39:33 +00:00
steven
3a7ffa8c6f - use .lai extension for better compatibility with gnu
- write .lai file at build time, and only install .la for shared libraries
- create symlink to .la file from the .libs directory
2007-10-31 21:49:08 +00:00
steven
802692b22c put the final libdir correctly in .la file from the start.
this also simplifies reworking of dependency_libs upon installation.
2007-10-31 17:32:55 +00:00
steven
c4dfa87bce - read and ignore -thread-safe option
- ignore multiple arguments for -version-info, just take the first
2007-10-29 18:47:19 +00:00
steven
ffcdf90dd5 resolve symlinks during installation 2007-10-29 15:56:56 +00:00
steven
fbad1b3d27 don't escape special characters which are surrounded by quotes. 2007-10-29 11:49:52 +00:00
steven
51efcbbcc7 libtool replacement
work in progress, do not use this yet.

input from and "commit it" espie@
2007-10-28 14:34:09 +00:00
naddy
44899eea9b * fix check for CVS keywords
* extend check to all CVS keywords, suggested by kurt@

ok kurt@
2007-10-01 20:39:23 +00:00
kurt
853bf4e006 - don't use PATCHORIG for patch files in a port's patches dir since that
confuses 'make patch'. improvement and ok naddy@
2007-09-28 17:11:10 +00:00
espie
7a9f1afb15 add message that shows we exited a directory after an error, stops log there
during rebuilds.
2007-08-25 07:56:04 +00:00
espie
0c6983c419 allow locking command to take extra parameters, store them inside the lock
file (as a comment)
2007-06-02 12:03:56 +00:00
espie
9a70356e28 use new ProgressMeter interface 2007-06-01 15:01:50 +00:00
espie
d0d6d56f7e allow extract-dependencies to use several seeds, which is necessary
for multi-packages ports (databases/sqlite3 == databases/sqlite3,-main).
2007-02-06 20:01:06 +00:00
espie
7b1ed78b46 pass -a to diff always, as it will often get confused with unicode/iso-latin
stuff.
2007-02-03 17:08:13 +00:00
jasper
1616b919e5 zap trailing whitespace in the output 2007-01-17 19:44:19 +00:00
espie
e7bba25064 avoid weird error if we run this without patches 2006-11-21 11:18:34 +00:00
espie
3d0bde7b9b zap duplicate specs 2006-11-20 12:13:43 +00:00
espie
aaa9a0cd63 remove hack to recognize .0.0. 2006-09-18 12:56:22 +00:00
espie
a7c0d256e1 also zap .n as a final. 2006-09-18 11:30:08 +00:00
espie
03409d0fb5 zap .n.m suffix, just keep .0.0 as a special case for now. 2006-09-18 11:27:47 +00:00
espie
2bf397a8e6 allows >= for lib-specs, needs some quoting for shell... 2006-08-01 10:00:54 +00:00
ian
edc8f04975 Minor clarification of message, ok espie@ 2005-12-06 17:15:38 +00:00
espie
a7f7af295a more error checking.
reported by Simon Kuhle
2005-11-06 09:34:20 +00:00
espie
eae1e7329e move DIFF_ARGS around 2005-11-05 11:38:46 +00:00
sturm
76a0bc8eef create LOCKDIR if it doesn't already exist
ok espie@
2005-11-01 10:54:42 +00:00
bernd
097bf89941 Add a quick (-q) option for the impatient people. But look out! If you
use the -q option, out-of-date looks for changed package names but not
for changed package signatures!

If you want to see ALL of you outdated packages, don't use -q.

"go ahead, commit" espie@
2005-11-01 10:11:40 +00:00
espie
f5f73908d5 more reports 2005-10-29 12:27:31 +00:00
espie
76fc40b70e fix 2005-10-29 12:14:26 +00:00
espie
3e5d6bac8a better error message for slackers who can't read perl. 2005-10-29 12:12:39 +00:00
espie
ce319b8661 Add -r option so that tool can be used to do more. 2005-10-22 18:05:34 +00:00
espie
8e7f909b8d Use the caching mechanism set up in bsd.port.mk to speed it up x3. 2005-10-10 22:25:06 +00:00
bernd
67538a1775 - only compute signatures if the package name doesn't change
- some error checking
- print differences between package signatures

ok espie@
2005-10-10 22:08:27 +00:00
espie
c4ced942c9 protect against cases where @ARGV == 0, which can happen very seldom... 2005-10-10 19:43:33 +00:00
espie
031729bf37 make sure to get ALL libs, that is, several lines in case we need pkg_info
to get the right libraries.
2005-10-10 19:04:06 +00:00