Hi Chad,
On Wed, 2003-11-05 at 03:16, Chad Austin wrote:
> Dirk Reiners wrote:
> > they only have different names on Windows, on the Unices they are the
> > same. This allows you to switch from dbg to opt by just setting
> > LD_LIBRARY_PATH, which I think is extremely useful.
>
> Okay, I see. I agree that's useful. However, 'make install' makes a
> lib/opt and lib/dbg, while the dailybuild icl60 dist release (the
> Windows installer) has all of the libraries -- both debug and release --
> under lib. Shouldn't the installer be consistent with 'make install'?
well, the dists are really meant for end-users, i.e. the people who
don't want to or don't know how to compile the source, so their
structure is totally different anyway, both under Unix and under
Windows.
But you're right, it would be nicer to have all libs in one dir on
Windows, we just haven't taken the time to do that. It didn't seem to be
that pressing yet.
If you want to take a shot, take a look at the install-libs target in
Common/commonTopLevel.mk, as far as I can see that's the only place you
would have to change. Gerrit, is that right? I attached a quick version
of that target which might work, but I haven't tested it on cygwin. If
it works please tell me and I'll commit it.
Dirk
ifeq ($(OS_BASE),cygwin)
INSTALL_LIB_SUFFIXES := $(SO_SEARCH_SUFFIX) $(LNK_LIB_SUFFIX)
$(LIB_SEARCH_SUFFIX)
INSTALL_LIB_DIR := ""
else
INSTALL_LIB_SUFFIXES := $(SO_SEARCH_SUFFIX) $(LNK_LIB_SUFFIX)
INSTALL_LIB_DIR := "$$d"
endif
install-libs: install-test
@if [ ! -w $(INSTALL_DIR)/lib ]; then mkdir $(INSTALL_DIR)/lib; fi
ifneq ($(OS_BASE),cygwin)
@if [ ! -w $(INSTALL_DIR)/lib/dbg ]; then mkdir $(INSTALL_DIR)/lib/dbg;
fi
@if [ ! -w $(INSTALL_DIR)/lib/opt ]; then mkdir $(INSTALL_DIR)/lib/opt;
fi
endif
CURRDIR=`pwd`;
\
for s in $(INSTALL_LIB_SUFFIXES);
\
do
\
for d in dbg opt;
\
do
\
BUILDLIBS=`find $$CURRDIR -follow -name "lib-$$d"
\
-exec find {} -name "*$$s" -print \;` ;
\
cd $(INSTALL_DIR)/lib/$(INSTALL_LIB_DIR);
\
rm -f *$$s;
\
for t in $$BUILDLIBS;
\
do
\
echo $$t;
\
$(INSTLINK) $$t .;
\
done;
\
done;
\
done;
\
cd $$CURRDIR;