[petsc-dev] Running dsymutil in GNU make build
Satish Balay
balay at mcs.anl.gov
Mon Nov 4 09:27:23 CST 2013
Pehpas gmakefile requires a copy of this - but we should not remove it
from conf/rules. If its removed - it will potentially break
'make all-legacy'
Satish
On Mon, 4 Nov 2013, Lisandro Dalcin wrote:
> Do you like moving the execution of dsymutil from
> $PETSC_DIR/conf/rules to $PETSC_DIR/gmakefile shared lib targets? The
> rationale is to not run dsymutil with the shared libs are up to date.
>
> diff --git a/conf/rules b/conf/rules
> index 1ac6fe0..6bf2421 100644
> --- a/conf/rules
> +++ b/conf/rules
> @@ -105,9 +105,6 @@ gnumake: chk_makej
> @echo "Building PETSc using GNU Make with ${MAKE_NP} build threads"
> @echo "=========================================="
> @cd ${PETSC_DIR} && ${OMAKE_PRINTDIR} -f gmakefile -j ${MAKE_NP} V=${V}
> - @if [ "${BUILDSHAREDLIB}" = "yes" -a "${DSYMUTIL}" != "true" ]; then \
> - echo "Running ${DSYMUTIL} on ${SHLIBS}";\
> - for LIBNAME in ${SHLIBS}; do ${DSYMUTIL}
> ${INSTALL_LIB_DIR}/$$LIBNAME.${SL_LINKER_SUFFIX}; done; fi
> @echo "========================================="
>
> # Does nothing; needed for some rules that require actions.
> diff --git a/gmakefile b/gmakefile
> index afba46c..525c081 100644
> --- a/gmakefile
> +++ b/gmakefile
> @@ -69,6 +69,9 @@ srcs.o := $(foreach pkg, $(pkgs), $(call concatlang,$(pkg)))
> # with-single-library=1 (default)
> $(libpetsc_shared) : $(srcs.o) | $$(@D)/.DIR
> $(call quiet,CLINKER) -shared -o $@ $^ $(PETSC_EXTERNAL_LIB_BASIC)
> +ifneq ($(DSYMUTIL),true)
> + $(call quiet,DSYMUTIL) $@
> +endif
>
> $(libpetsc_static) : obj := $(srcs.o)
>
> @@ -124,6 +127,9 @@ else
> endif
> $(libpetscpkgs_shared) : $$(obj) $(libdep_true) | $(libdep_order) $$(@D)/.DIR
> $(call quiet,CLINKER) -shared -o $@ $(obj) $(libdep)
> $(PETSC_EXTERNAL_LIB_BASIC)
> +ifneq ($(DSYMUTIL),true)
> + $(call quiet,DSYMUTIL) $@
> +endif
>
> $(OBJDIR)/%.o : %.c | $$(@D)/.DIR
> $(PETSC_COMPILE.c) $< -o $@
>
>
>
More information about the petsc-dev
mailing list