source: mainline/tools/xcw/bin/helenos-ld@ d5a89a3

Last change on this file since d5a89a3 was b501de7, checked in by Jiri Svoboda <jiri@…>, 7 years ago

XCW should rely on export dir instead of touching the source tree. Allow specifying alternate export dir. Add more exported libraries (yes, I know).

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/bin/bash
2#
3# Copyright (c) 2018 Jiri Svoboda
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29# Link editor (ld) wrapper
30# HelenOS Cross Compiler Wrapper (XCW)
31# Facilitate cross-compiling external software to HelenOS
32#
33
34XCW="$(dirname "$0")"
35SRC_ROOT="$XCW/../../.."
36if [ -z "$EXPORT_DIR" ]; then
37 EXPORT_DIR="$SRC_ROOT/uspace/export"
38fi
39UARCH="$("$XCW"/helenos-bld-config --uarch)"
40CFLAGS="$("$XCW"/helenos-bld-config --cflags)"
41LDFLAGS="$("$XCW"/helenos-bld-config --ldflags)"
42CC="$("$XCW"/helenos-bld-config --cc)"
43
44echo helenos-ld "$@"
45"$CC" \
46 $CFLAGS \
47 "$@" \
48 "$EXPORT_DIR"/lib/crt0.o \
49 "$EXPORT_DIR"/lib/crt1.o \
50 "$EXPORT_DIR"/lib/libc.a \
51 -lgcc
Note: See TracBrowser for help on using the repository browser.