7d294d17457c6f4ca7adfee2e5af0b1a07265b3d
[gcc.git] / gcc / config / ia64 / t-hpux
1 # We need multilib support for HPUX's ILP32 & LP64 modes.
2
3 LIBGCC = stmp-multilib
4 INSTALL_LIBGCC = install-multilib
5
6 MULTILIB_OPTIONS = milp32/mlp64
7 MULTILIB_DIRNAMES = hpux32 hpux64
8 MULTILIB_MATCHES =
9
10 # Support routines for HP-UX 128 bit floats.
11
12 LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
13
14 quadlib.c: $(srcdir)/config/ia64/quadlib.c
15 cat $(srcdir)/config/ia64/quadlib.c > quadlib.c
16
17 # We get an undefined main when building a cross compiler because our
18 # linkspec has "-u main" and we want that for linking but it makes
19 # LIBGCC1_TEST fail because it uses -nostdlib -nostartup.
20
21 LIBGCC1_TEST =
22
23 # We do not want to include the EH stuff that linux uses, we want to use
24 # the HP-UX libunwind library.
25
26 T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
27
28 LIB2ADDEH =
29
30 SHLIB_EXT = .so
31 # Must include -lunwind in the link, so that libgcc_s.so has the necessary
32 # DT_NEEDED entry for libunwind.
33 SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
34 -Wl,+h,@shlib_base_name@.so.0 \
35 -o @multilib_dir@/@shlib_base_name@.so @multilib_flags@ \
36 @shlib_objs@ -lunwind -lc && \
37 rm -f @multilib_dir@/@shlib_base_name@.so.0 && \
38 $(LN_S) @shlib_base_name@.so @multilib_dir@/@shlib_base_name@.so.0
39 # $(slibdir) double quoted to protect it from expansion while building
40 # libgcc.mk. We want this delayed until actual install time.
41 SHLIB_INSTALL = \
42 $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \
43 $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \
44 $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.0; \
45 rm -f $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
46 $(LN_S) @shlib_base_name@.so.0 \
47 $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
48 chmod +x $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so
49
50 SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk