[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