I think we're ready for me to push these in tonight.
Mon Feb 25 22:35:54 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Remove support for GHC prior to 6.4.
Mon Feb 25 23:16:35 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Add wxcore-prof target for compiling profiling versions of wxcore.
Tue Feb 26 21:12:27 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Fix some bugs pointed out by shelarcy on wxcore-prof.
Tue Feb 26 21:51:55 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Add a configure option to enable wxcore profiling.
Wed Feb 27 03:48:45 GMT 2008 shelarcy <[EMAIL PROTECTED]>
* Fix bugs in enable wxcore profiling.
Wed Feb 27 03:50:51 GMT 2008 shelarcy <[EMAIL PROTECTED]>
* Add wx-prof target for Windows binary distribution.
Wed Feb 27 13:47:57 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Remove parasite configure change.
Move around some variables to make more sense.
New patches:
[Remove support for GHC prior to 6.4.
Eric Kow <[EMAIL PROTECTED]>**20080225223554] {
hunk ./configure 817
HCBASENAME=$hcbasename
HCFLAGS=
HCPKG=$hcpkg
-GHCOLD=$ghcold
# Packages
PKG-PARSEC=$pkgparsec
hunk ./makefile 357
bindist: bindist-clean dist-dirs wxc-bindist wxcore-bindist wx-bindist docdist
@$(call cp-bindist,config,$(BINDIST-BINDIR),config/wxcore.pkg config/wx.pkg)
ifeq ($(TOOLKIT),msw)
-ifeq ($(GHCOLD),no)
@$(call cp-bindist,config,$(BINDIST-BINDIR),config/wxcore-partial.pkg config/wx-partial.pkg)
hunk ./makefile 358
-endif
@$(call cp-bindist,config,$(BINDIST-BINDIR),config/wxhaskell-register.bat config/wxhaskell-unregister.bat config/setcd)
else
@$(call cp-bindist,bin,$(BINDIST-BINDIR),bin/wxhaskell-register bin/wxhaskell-unregister)
hunk ./makefile.lib 115
#--------------------------------------------------------------------------
-ifeq ($(GHCOLD),yes)
-# pre GHC 6.4
-# silent-move-stubs(<output .o>,<input .c>)
-silent-move-stubs =$(call silent-move-file,$(basename $(2))_stub.h,$(dir $(1))) && \
- $(call silent-move-file,$(basename $(2))_stub.c,$(dir $(1)))
-
-# make-hs-obj(<output .o>,<input .hs>,<compile flags>,<top output directory>)
-make-hs-obj =$(call run-with-echo,$(HC) -c $(2) -o $(1) -i$(4) -ohi $(basename $(1)).hi -odir $(dir $(1)) $(3))
-
-# make-hs-deps(<output .o>,<input .hs>,<compile flags>,<top output directory>)
-make-hs-deps =$(HC) $(2) $(3) -i$(4) -M -optdep-f -optdep$(basename $(1)).d.in && \
- sed -e 's|$(basename $(2))|$(basename $(1))|' -e 's|\.hi|\.o|g' $(basename $(1)).d.in > $(basename $(1)).d && \
- $(call silent-remove-file,$(basename $(1)).d.in)
-
-# compile-hs(<output .o>,<input .hs>,<compile flags>,<top output directory>)
-compile-hs =$(call make-hs-obj,$(1),$(2),$(3),$(4)) && \
- $(call silent-move-stubs,$(1),$(2)) && \
- $(call make-hs-deps,$(1),$(2),$(3),$(4))
-else
# GHC 6.4+ and others
# make-hs-obj(<output .o>,<input .hs>,<compile flags>,<top output directory>)
# silent-move-stubs(<output .o>,<input .c>)
hunk ./makefile.lib 132
$(call silent-move-stubs,$(1),$(2)) && \
$(call make-hs-deps,$(1),$(2),$(3),$(4),$(5))
-
-endif
-
#--------------------------------------------------------------------------
# Linking
#--------------------------------------------------------------------------
hunk ./makefile.lib 189
# install packages
# usage: $(call install-pkg,<install dir>,<package file>)
# usage: $(call uninstall-pkg,<package name>)
-ifeq ($(GHCOLD),yes)
-install-pkg=env wxhlibdir=$(1) $(HCPKG) -u -i $(2)
-else
install-pkg=cat $(2) | sed -e "s|\$${wxhlibdir}|$(1)|" | $(HCPKG) update -
hunk ./makefile.lib 190
-endif
uninstall-pkg=if $(call run-silent,$(HCPKG) -s $(1)); then echo "unregister package: $(1)" && $(HCPKG) -r $(1); fi
}
[Add wxcore-prof target for compiling profiling versions of wxcore.
Eric Kow <[EMAIL PROTECTED]>**20080225231635] {
hunk ./configure 817
HCBASENAME=$hcbasename
HCFLAGS=
HCPKG=$hcpkg
+HC-PROF-FLAGS=-prof -auto-all
# Packages
PKG-PARSEC=$pkgparsec
hunk ./makefile 256
#--------------------------------------------------------------------------
# The main targets.
#--------------------------------------------------------------------------
-.SUFFIXES: .hs .hi .o .c .cpp
+.SUFFIXES: .hs .hi .o .p_hi .p_o .c .cpp
.PHONY: all install uninstall install-files uninstall-files
.PHONY: help doc webdoc clean realclean
hunk ./makefile 478
WXCORE-CORE-C-OBJS=$(call make-objs, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-C-SOURCES))
WXCORE-STUB-OBJS=$(call make-objs, $(WXCORE-IMPORTSDIR), $(patsubst %,%_stub,$(WXCORE-STUBS)))
+WXCORE-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE).p_o
+WXCORE-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE).p_a
+WXCORE-CORE-A-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)0.p_o
+WXCORE-CORE-A-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)0.p_a
+WXCORE-CORE-B-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)1.p_o
+WXCORE-CORE-B-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)1.p_a
+WXCORE-CORE-C-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)2.p_o
+WXCORE-CORE-C-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)2.p_a
+WXCORE-PROF-LIBS =$(WXCORE-CORE-A-PROF-LIB) $(WXCORE-CORE-A-PROF-OBJ) \
+ $(WXCORE-CORE-B-PROF-LIB) $(WXCORE-CORE-B-PROF-OBJ) \
+ $(WXCORE-CORE-C-PROF-LIB) $(WXCORE-CORE-C-PROF-OBJ) \
+ $(WXCORE-PROF-LIB) $(WXCORE-PROF-OBJ)
+WXCORE-PROF-OBJS =$(call make-prof-objs, $(WXCORE-IMPORTSDIR), $(WXCORE-SOURCES))
+WXCORE-CORE-A-PROF-OBJS=$(call make-prof-objs, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-A-SOURCES))
+WXCORE-CORE-B-PROF-OBJS=$(call make-prof-objs, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-B-SOURCES))
+WXCORE-CORE-C-PROF-OBJS=$(call make-prof-objs, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-C-SOURCES))
+WXCORE-STUB-PROF-OBJS=$(call make-prof-objs, $(WXCORE-IMPORTSDIR), $(patsubst %,%_stub,$(WXCORE-STUBS)))
+
WXCORE-CORE-SOURCES=$(WXCORE-CORE-A-SOURCES) $(WXCORE-CORE-B-SOURCES) $(WXCORE-CORE-C-SOURCES)
WXCORE-CORE-OBJS =$(WXCORE-CORE-A-OBJS) $(WXCORE-CORE-B-OBJS) $(WXCORE-CORE-C-OBJS)
hunk ./makefile 501
WXCORE-DEPS =$(call make-deps, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-SOURCES) $(WXCORE-SOURCES))
WXCORE-HIS =$(call make-his, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-SOURCES) $(WXCORE-SOURCES))
+WXCORE-PROF-HIS =$(call make-prof-his, $(WXCORE-IMPORTSDIR), $(WXCORE-CORE-SOURCES) $(WXCORE-SOURCES))
WXCORE-HS =$(call make-hs, $(WXCORE-SRCDIR), $(WXCORE-CORE-SOURCES) $(WXCORE-SOURCES))
WXCORE-GEN-HS =$(call make-hs, $(WXCORE-SRCDIR), $(WXCORE-GEN-SOURCES))
WXCORE-NONGEN-HS=$(filter-out $(WXCORE-GEN-HS),$(WXCORE-HS))
hunk ./makefile 507
WXCORE-BINS =$(WXCORE-HIS) $(WXCORE-LIBS)
+WXCORE-PROF-BINS =$(WXCORE-PROF-HIS) $(WXCORE-PROF-LIBS)
WXCORE-DOCS =$(filter-out $(WXCORE-SRCDIR)/$(WXCORE-HPATH)/IntMap.hs,$(WXCORE-HS))
WXCORE-HCFLAGS =$(HCFLAGS) -fvia-C -package-name $(WXCORE)-$(VERSION)
hunk ./makefile 518
wxcore-dirs:
@$(call ensure-dirs-of-files,$(WXCORE-OBJS))
+wxcore-prof: wxd wxc wxcore-prof-dirs $(WXCORE-PROF-LIBS)
+
+wxcore-prof-dirs:
+ @$(call ensure-dirs-of-files,$(WXCORE-PROF-OBJS))
+
wxcore-clean:
[EMAIL PROTECTED](call full-remove-dir,$(WXCORE-OUTDIR))
hunk ./makefile 601
$(WXCORE-STUB-OBJS): $(WXCORE-IMPORTSDIR)/%_stub.o: $(WXCORE-SRCDIR)/%.hs
$(HC) -c $(basename $@).c
+# profiling version of above targets
+$(WXCORE-PROF-OBJ): $(WXCORE-PROF-OBJS) $(WXCORE-STUB-PROF-OBJS)
+ $(call combine-objs,$@,$^)
+$(WXCORE-CORE-A-PROF-OBJ): $(WXCORE-CORE-A-PROF-OBJS)
+ $(call combine-objs,$@,$^)
+$(WXCORE-CORE-B-PROF-OBJ): $(WXCORE-CORE-B-PROF-OBJS)
+ $(call combine-objs,$@,$^)
+$(WXCORE-CORE-C-PROF-OBJ): $(WXCORE-CORE-C-PROF-OBJS)
+ $(call combine-objs,$@,$^)
+$(WXCORE-PROF-LIB): $(WXCORE-PROF-OBJS) $(WXCORE-STUB-PROF-OBJS)
+ $(call make-archive,$@,$^)
+$(WXCORE-CORE-A-PROF-LIB): $(WXCORE-CORE-A-PROF-OBJS)
+ $(call make-archive,$@,$^)
+$(WXCORE-CORE-B-PROF-LIB): $(WXCORE-CORE-B-PROF-OBJS)
+ $(call make-archive,$@,$^)
+$(WXCORE-CORE-C-PROF-LIB): $(WXCORE-CORE-C-PROF-OBJS)
+ $(call make-archive,$@,$^)
+$(WXCORE-CORE-A-PROF-OBJS) $(WXCORE-CORE-B-PROF-OBJS) $(WXCORE-CORE-C-PROF-OBJS) $(WXCORE-PROF-OBJS): $(WXCORE-IMPORTSDIR)/%.p_o: $(WXCORE-SRCDIR)/%.hs
+ @$(call compile-prof-hs,$@,$<,$(WXCORE-HCFLAGS) $(HC-PROF-FLAGS) -Iwxc/include,$(WXCORE-IMPORTSDIR),$(WXCORE-HSDIRS) )
+
# automatically include all dependency information.
-include $(WXCORE-DEPS)
hunk ./makefile.lib 60
# usage: $(call make-objs,<object root path>,<file base names>)
make-hs =$(patsubst %,$(1)/%.hs,$(2))
make-objs =$(patsubst %,$(1)/%.o,$(2))
+make-prof-objs =$(patsubst %,$(1)/%.p_o,$(2))
make-deps =$(patsubst %,$(1)/%.d,$(2))
make-his =$(patsubst %,$(1)/%.hi,$(2))
hunk ./makefile.lib 63
+make-prof-his =$(patsubst %,$(1)/%.p_hi,$(2))
# usage: $(call run-silent,<command>)
run-silent =$(1) 1> /dev/null 2> /dev/null
hunk ./makefile.lib 134
$(call silent-move-stubs,$(1),$(2)) && \
$(call make-hs-deps,$(1),$(2),$(3),$(4),$(5))
+# make-hs-deps(<output .o>,<input .hs>,<compile flags>,<top output directory>,<hs directories>)
+make-hs-prof-deps =$(HC) $(2) $(3) -odir $(4) -hidir $(4) $(5) -M -optdep-f -optdep$(basename $(1)).p_d.in && \
+ sed -e 's|\.o|\.p_o|g' -e 's|\.hi|\.p_o|g' $(basename $(1)).p_d.in | grep '^$(1)' > $(basename $(1)).p_d
+
+# compile-hs(<output .o>,<input .hs>,<compile flags>,<top output directory>,<hs directories>)
+compile-prof-hs =$(call make-hs-obj,$(1),$(2),$(3),$(4)) && \
+ $(call silent-move-stubs,$(1),$(2)) && \
+ $(call make-hs-prof-deps,$(1),$(2),$(3),$(4),$(5))
+
+
#--------------------------------------------------------------------------
# Linking
#--------------------------------------------------------------------------
}
[Fix some bugs pointed out by shelarcy on wxcore-prof.
Eric Kow <[EMAIL PROTECTED]>**20080226211227] {
hunk ./configure 817
HCBASENAME=$hcbasename
HCFLAGS=
HCPKG=$hcpkg
-HC-PROF-FLAGS=-prof -auto-all
+HC-PROF-FLAGS=-hisuf p_hi -prof -auto-all
# Packages
PKG-PARSEC=$pkgparsec
hunk ./makefile 479
WXCORE-STUB-OBJS=$(call make-objs, $(WXCORE-IMPORTSDIR), $(patsubst %,%_stub,$(WXCORE-STUBS)))
WXCORE-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE).p_o
-WXCORE-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE).p_a
+WXCORE-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)_p.a
WXCORE-CORE-A-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)0.p_o
hunk ./makefile 481
-WXCORE-CORE-A-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)0.p_a
+WXCORE-CORE-A-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)0_p.a
WXCORE-CORE-B-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)1.p_o
hunk ./makefile 483
-WXCORE-CORE-B-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)1.p_a
+WXCORE-CORE-B-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)1_p.a
WXCORE-CORE-C-PROF-OBJ =$(WXCORE-OUTDIR)/$(WXCORE)2.p_o
hunk ./makefile 485
-WXCORE-CORE-C-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)2.p_a
+WXCORE-CORE-C-PROF-LIB =$(WXCORE-OUTDIR)/lib$(WXCORE)2_p.a
WXCORE-PROF-LIBS =$(WXCORE-CORE-A-PROF-LIB) $(WXCORE-CORE-A-PROF-OBJ) \
$(WXCORE-CORE-B-PROF-LIB) $(WXCORE-CORE-B-PROF-OBJ) \
$(WXCORE-CORE-C-PROF-LIB) $(WXCORE-CORE-C-PROF-OBJ) \
}
[Add a configure option to enable wxcore profiling.
Eric Kow <[EMAIL PROTECTED]>**20080226215155] {
hunk ./configure 32
# haskell
hc="ghc"
hcpkg="ghc-pkg"
+hcprof="-prof -auto-all"
hcpkglocal=""
hdoc="haddock"
hunk ./configure 292
echo " --help show this information"
echo " --hc=<program> the haskell compiler [$hc]"
echo " --hcpkg=<program> package compiler [$hcpkg]"
+ echo " --hcprof=<flags> enable profiling (using flags [$hcprof])"
echo " --package-conf=<file> optional local package configuration [$hcpkglocal]"
echo " --version=<version> library version [$version]"
echo " --release=<version> library release version [$release]"
hunk ./configure 336
hc="$arg";;
-hc=*|--hc=*)
hc="$arg";;
+ -hcprof|--hcprof)
+ enableprof="yes";;
+ -hcprof=*|--hcprof=*)
+ hcprof="$arg"
+ enableprof="yes";;
-hcpkg=*|--hcpkg=*)
hcpkg="$arg";;
hunk ./configure 343
+ --with-hc=*)
+ hc="$arg";;
-package-conf=*|--package-conf=*)
hcpkglocal="$arg";;
-version=*|--version=*)
hunk ./configure 826
HCBASENAME=$hcbasename
HCFLAGS=
HCPKG=$hcpkg
-HC-PROF-FLAGS=-hisuf p_hi -prof -auto-all
+ENABLE-PROF=$enableprof
+HC-PROF-FLAGS=-hisuf p_hi $hcprof
# Packages
PKG-PARSEC=$pkgparsec
hunk ./makefile 513
# build main library
-wxcore: wxd wxc wxcore-dirs $(WXCORE-LIBS)
+ifdef ENABLE-PROF
+wxcore: wxcore-only wxcore-prof
+endif
+
+wxcore-only: wxd wxc wxcore-dirs $(WXCORE-LIBS)
wxcore-dirs:
@$(call ensure-dirs-of-files,$(WXCORE-OBJS))
}
[Fix bugs in enable wxcore profiling.
shelarcy <[EMAIL PROTECTED]>**20080227034845] {
hunk ./makefile 515
# build main library
ifdef ENABLE-PROF
wxcore: wxcore-only wxcore-prof
+else
+wxcore: wxcore-only
endif
wxcore-only: wxd wxc wxcore-dirs $(WXCORE-LIBS)
hunk ./makefile 542
# bindist
wxcore-bindist: wxcore
@$(call cp-bindist,$(WXCORE-OUTDIR),$(BINDIST-LIBDIR),$(WXCORE-BINS))
+ifdef ENABLE-PROF
+ @$(call cp-bindist,$(WXCORE-OUTDIR),$(BINDIST-LIBDIR),$(WXCORE-PROF-BINS))
+endif
# install
wxcore-register:
hunk ./makefile 552
wxcore-install-files: wxcore wxc-install-files
@$(call install-files,$(WXCORE-OUTDIR),$(LIBDIR),$(WXCORE-BINS))
+ifdef ENABLE-PROF
+ @$(call install-files,$(WXCORE-OUTDIR),$(LIBDIR),$(WXCORE-PROF-BINS))
+endif
@$(call install-files,$(dir $(WXCORE-PKG)),$(LIBDIR),$(WXCORE-PKG))
wxcore-unregister:
hunk ./makefile 562
wxcore-uninstall-files:
[EMAIL PROTECTED](call uninstall-files,$(WXCORE-OUTDIR),$(LIBDIR),$(WXCORE-BINS))
+ifdef ENABLE-PROF
+ [EMAIL PROTECTED](call uninstall-files,$(WXCORE-OUTDIR),$(LIBDIR),$(WXCORE-PROF-BINS))
+endif
[EMAIL PROTECTED](call uninstall-files,$(dir $(WXCORE-PKG)),$(LIBDIR),$(WXCORE-PKG))
# build marshall modules
}
[Add wx-prof target for Windows binary distribution.
shelarcy <[EMAIL PROTECTED]>**20080227035051] {
hunk ./makefile 652
WX-LIB =$(WX-OUTDIR)/lib$(WX).a
WX-LIBS =$(WX-LIB) $(WX-OBJ)
+WX-PROF=BJ =$(WX-OUTDIR)/$(WX).p_o
+WX-PROF-LIB =$(WX-OUTDIR)/lib$(WX)_p.a
+WX-PROF-LIBS =$(WX-PROF-LIB) $(WX-PROF-OBJ)
+
WX-OBJS =$(call make-objs, $(WX-IMPORTSDIR), $(WX-SOURCES))
hunk ./makefile 657
+WX-PROF-OBJS =$(call make-prof-objs, $(WX-IMPORTSDIR), $(WX-SOURCES))
WX-DEPS =$(call make-deps, $(WX-IMPORTSDIR), $(WX-SOURCES))
WX-HIS =$(call make-his, $(WX-IMPORTSDIR), $(WX-SOURCES))
hunk ./makefile 660
+WX-PROF-HIS =$(call make-prof-his, $(WX-IMPORTSDIR), $(WX-SOURCES))
WX-HS =$(call make-hs, $(WX-SRCDIR), $(WX-SOURCES))
WX-DOCS =$(WX-HS)
WX-BINS =$(WX-HIS) $(WX-LIBS)
hunk ./makefile 664
+WX-PROF-BINS =$(WX-PROF-HIS) $(WX-PROF-LIBS)
WX-HCFLAGS =$(HCFLAGS) -fvia-C -package-name $(WX)-$(VERSION) -package $(WXCORE)-$(VERSION)
WX-HSDIRS =-i$(WX-SRCDIR)
hunk ./makefile 670
# build main library
-wx: wxcore-clean wx-main
+ifdef ENABLE-PROF
+wx: wx-main-only wx-prof
+else
+wx: wx-main-only
+endif
+
+wx-main-only: wxcore-clean wx-main
wx-main: wx-dirs $(WX-LIBS)
hunk ./makefile 685
wx-dirs:
@$(call ensure-dirs-of-files,$(WX-OBJS))
+wx-prof: wxd wxc wx-prof-dirs $(WX-PROF-LIBS)
+
+wx-prof-dirs:
+ @$(call ensure-dirs-of-files,$(WX-PROF-OBJS))
+
wx-clean:
[EMAIL PROTECTED](call full-remove-dir,$(WX-OUTDIR))
hunk ./makefile 700
# bindist
wx-bindist:
@$(call cp-bindist,$(WX-OUTDIR),$(BINDIST-LIBDIR),$(WX-BINS))
+ifdef ENABLE-PROF
+ @$(call cp-bindist,$(WX-OUTDIR),$(BINDIST-LIBDIR),$(WX-PROF-BINS))
+endif
# install
wx-register:
hunk ./makefile 710
wx-install-files: wx-main
@$(call install-files,$(WX-OUTDIR),$(LIBDIR),$(WX-BINS))
+ifdef ENABLE-PROF
+ @$(call install-files,$(WX-OUTDIR),$(LIBDIR),$(WX-PROF-BINS))
+endif
@$(call install-files,$(dir $(WX-PKG)),$(LIBDIR),$(WX-PKG))
wx-unregister:
hunk ./makefile 720
wx-uninstall-files:
[EMAIL PROTECTED](call uninstall-files,$(WX-OUTDIR),$(LIBDIR),$(WX-BINS))
+ifdef ENABLE-PROF
+ [EMAIL PROTECTED](call uninstall-files,$(WX-OUTDIR),$(LIBDIR),$(WX-PROF-BINS))
+endif
[EMAIL PROTECTED](call uninstall-files,$(dir $(WX-PKG)),$(LIBDIR),$(WX-PKG))
# build ghci object files
hunk ./makefile 737
$(WX-OBJS): $(WX-IMPORTSDIR)/%.o: $(WX-SRCDIR)/%.hs
@$(call compile-hs,$@,$<,$(WX-HCFLAGS),$(WX-IMPORTSDIR),$(WX-HSDIRS))
+# profiling version of above targets
+$(WX-PROF-OBJ): $(WX-PROF-OBJS)
+ $(call combine-objs,$@,$^)
+$(WX-PROF-LIB): $(WX-PROF-OBJS)
+ $(call make-archive,$@,$^)
+$(WX-PROF-OBJS): $(WX-IMPORTSDIR)/%.p_o: $(WX-SRCDIR)/%.hs
+ @$(call compile-prof-hs,$@,$<,$(WX-HCFLAGS) $(HC-PROF-FLAGS),$(WX-IMPORTSDIR),$(WX-HSDIRS))
+
# automatically include all dependency information.
-include $(WX-DEPS)
}
[Remove parasite configure change.
Eric Kow <[EMAIL PROTECTED]>**20080227134757
Move around some variables to make more sense.
] {
hunk ./configure 336
hc="$arg";;
-hc=*|--hc=*)
hc="$arg";;
+ -hcpkg=*|--hcpkg=*)
+ hcpkg="$arg";;
-hcprof|--hcprof)
enableprof="yes";;
-hcprof=*|--hcprof=*)
hunk ./configure 343
hcprof="$arg"
enableprof="yes";;
- -hcpkg=*|--hcpkg=*)
- hcpkg="$arg";;
- --with-hc=*)
- hc="$arg";;
-package-conf=*|--package-conf=*)
hcpkglocal="$arg";;
-version=*|--version=*)
}
Context:
[Change samples/contrib/Camels.hs encoding to UTF-8.
shelarcy <[EMAIL PROTECTED]>**20080225142551]
[Fix: docdist and bindist's wx documents don't link wxcore documents.
shelarcy <[EMAIL PROTECTED]>**20080225141105]
[Fix: configure doesn't find GHC's Haddock document directory on GHC 6.8.x or higher.
shelarcy <[EMAIL PROTECTED]>**20080225135754]
[Add a test case for start >> start (1610984)
Eric Kow <[EMAIL PROTECTED]>**20080225001328]
[Fix bug pointed out by shelarcy in --enable-mediactrl flag.
Eric Kow <[EMAIL PROTECTED]>**20080225110340
It was setting the opengl flag instead.
]
[Implement an --enable-mediactrl configure flag.
Eric Kow <[EMAIL PROTECTED]>**20080225000109
with mediactrl disabled by default.
]
[(OS X) Skip intermediate step of compiling master.o (revisited!)
Eric Kow <[EMAIL PROTECTED]>**20080218225200
I'm going to quote some mails from Malcolm Wallace on wxhaskel-users in early
2008-02.
First message:
> I'm attempting to install wxHaskell from the darcs repo at
> darcs.haskell.org, under ghc-6.6. on MacOS 10.4.11, with
> wxMac-2.6.4.
>
> The compilation of wxHaskell seems to proceed OK until the link
> stage:
>
> g++ -r -keep_private_externs -nostdlib -o out/wxc/master.o ....
>
> which failed because there is no -lstdc++-static on my machine. I
> found the place in the makefile to replace -lstdc++-static with
> the dynamic -lstdc++, and compilation proceeds further, but not
> much:
>
> g++ -dynamiclib -install_name\
> /usr/local/wxhaskell/lib/libwxc-mac2.6.4-0.10.1.dylib -undefined suppress\
> -flat_namespace -o out/wxc/libwxc-mac2.6.4-0.10.1.dylib out/wxc/master.o\
> -lwx_macu_gl-2.6 -L/usr/local/lib -framework QuickTime -framework IOKit\
> -framework Carbon -framework Cocoa -framework System -lwx_macu_media-2.6\
> -lwx_macu-2.6
> ld: out/wxc/master.o undefined symbol 12387 (__ZTI10wxListBase) can't be a weak definition
> /usr/bin/libtool: internal link edit command failed
>
> The offending symbol __ZTI10wxListBase looks like it might be a
> z-encoded symbol from Haskell-land, but I'm not sure how to proceed.
Second message:
> A correct build on MacOS 10.4.11 with ghc-6.6 requires that
> wxWidgets is configured with --enable-shared, and that this patch:
>
> (OS X) Check architecture to use intermediate step of compiling
> master.o or not.
>
> be darcs unpulled from your local repo.
>
> With these tweaks, wxHaskell builds, compiles, and runs the demo
> programs.
]
[Add a diagram of wxhaskell components.
Eric Kow <[EMAIL PROTECTED]>**20080224185557]
[Eliminate mandatory --with-opengl on Linux.
Eric Kow <[EMAIL PROTECTED]>**20080219171912
If wxWidgets is compiled with opengl, its header files
#define wxUSE_GLCANVAS 1
(See, for example, /usr/lib/wx/include/gtk2-unicode-release-2.6/wx/setup.h on
Ubuntu Gutsy Gibbon), which causes us to compile glcanvas as if we were going
to link against the wxWidgets opengl library. But since we are not linking
against that, the user gets errors compiling their applications.
Here we introduce an extra preprocessor flag to really insist that no, despite
what wxWidgets says, we don't want to use GLCANVAS.
]
[Fix: wxPrint**, wxPreviveFrame** and other function causes link error by undefined reference on Windows (Visual Studio).
shelarcy <[EMAIL PROTECTED]>**20080219034144]
[Export TabPage type synonym (bug 1349475)
Eric Kow <[EMAIL PROTECTED]>**20080218005112]
[Add ListControl test case (bug 1742979)
Eric Kow <[EMAIL PROTECTED]>**20080218002441
This might only be a bug on Windows, if at all.
]
[Add test case textColor attribute (bug 1224727).
Eric Kow <[EMAIL PROTECTED]>**20080218000738]
[Fix Landscape printing (bug 1168903).
Eric Kow <[EMAIL PROTECTED]>**20080217235724
Filed on behalf on Lennart Augustson <[EMAIL PROTECTED]>, who
submitted a regular Unix patch.
]
[Add BoxedCombinator test case (bug 1549363)
Eric Kow <[EMAIL PROTECTED]>**20080217233719]
[Add Sound type's Media class stop method.
shelarcy <[EMAIL PROTECTED]>**20080218160511]
[Fix STC* test cases.
shelarcy <[EMAIL PROTECTED]>**20080218155734]
[Fix: wrapper.h and sound.cpp doesn't care about wxWindows 2.4.2.
shelarcy <[EMAIL PROTECTED]>**20080218155605]
[Sync Visual Studio Project's source flatten away ewxw directories.
shelarcy <[EMAIL PROTECTED]>**20080218142201]
[Cleanup passing of std/media/stc/opengl to wx-config.
Eric Kow <[EMAIL PROTECTED]>**20080218130345]
[Add the submenu bug.
Eric Kow <[EMAIL PROTECTED]>**20080217174326]
[Add NonModalDialog test case (bug #1372529)
Eric Kow <[EMAIL PROTECTED]>**20080217174203]
[Add a bugs directory for test cases.
Eric Kow <[EMAIL PROTECTED]>**20080217174142]
[Fix UTF8Sampler test case.
Eric Kow <[EMAIL PROTECTED]>**20080217130553]
[Fix typo pointed out on bugtracker.
Eric Kow <[EMAIL PROTECTED]>**20080217114303]
[dos2unix files that have both CRLF and LF line terminators
Eric Kow <[EMAIL PROTECTED]>**20080217095711
Text editors get confused by these.
Get rid of trailing whitespace while we're at it.
]
[Flatten away ewxw directories.
Eric Kow <[EMAIL PROTECTED]>**20080217094929
This is to mirror the wxc project, making it easier to compare our
version of wxc with the standalone one.
]
[Remove unused ewxw files.
Eric Kow <[EMAIL PROTECTED]>**20080217082029
There is an overlap between ./wxc/src/ewxw and ./wxc/src. The makefile seems
to ignore the ones in ewxw.
]
[Synch Visual Studio Project's wxc library version
shelarcy <[EMAIL PROTECTED]>**20080216161420]
[Synch Visual Studio Project's output dir same as makefile
shelarcy <[EMAIL PROTECTED]>**20080216155656]
[Ugly hack to make setup haddock work without first building.
Eric Kow <[EMAIL PROTECTED]>**20080216135157]
[Bump to 0.10.2.
Eric Kow <[EMAIL PROTECTED]>**20080216130854]
[Mimick cabal in placement of haddocks.
Eric Kow <[EMAIL PROTECTED]>**20080216130819]
[Move cabal stuff to end of makefile.
Eric Kow <[EMAIL PROTECTED]>**20080216125445
so that all variables are defined.
]
[Add Hs-Source-Dirs for wxcore.cabal.
Eric Kow <[EMAIL PROTECTED]>**20080216125112
In case we ever switch to the Simple build type.
]
[Re-add time package dependency (needed by wxdirect).
Eric Kow <[EMAIL PROTECTED]>**20080216124853]
[Improve description and synopsis of cabal files.
Eric Kow <[EMAIL PROTECTED]>**20080216124832]
[Split doc building into wxcore and wx version.
Eric Kow <[EMAIL PROTECTED]>**20080216124746]
[Modernise haskell98 imports in wxdirect.
Eric Kow <[EMAIL PROTECTED]>**20080216120113]
[Prefer /usr/local/wxhaskell/bin/wx-config to the one on the path.
Eric Kow <[EMAIL PROTECTED]>**20080216113844
This makes it easier to install wxhaskell via cabal-install.
Just set up a symbolic link to point to point to your wxWidgets,
no need for the --wx-config flag.
]
[Add some --bindir, --datadir, --libexecdir to configure script.
Eric Kow <[EMAIL PROTECTED]>**20080216113837
For Cabal. The last two are ignored.
]
[Change output dir to 'dist' to mimick cabal.
Eric Kow <[EMAIL PROTECTED]>**20080216104847]
[Modernise haskell98 imports in wxcore.
Eric Kow <[EMAIL PROTECTED]>**20080216100020]
[Consolidate build targets which exist purely for the sake of Cabal.
Eric Kow <[EMAIL PROTECTED]>**20080216095845]
[Fix some dependencies that Ross Paterson pointed out.
Eric Kow <[EMAIL PROTECTED]>**20080215181444]
[TAG 0.10.1
Eric Kow <[EMAIL PROTECTED]>**20080215173503]
[Make Cabal files hackage-ready.
Eric Kow <[EMAIL PROTECTED]>**20080215153743]
[Argh, add another directory to the hackage package.
Eric Kow <[EMAIL PROTECTED]>**20080215153626]
[Add some newlines to ends of files.
Eric Kow <[EMAIL PROTECTED]>**20080215140508]
[Create a separate tarball for hackage.
Eric Kow <[EMAIL PROTECTED]>**20080215120145
repsecting the packagename-version convention
]
[Modernise some haskell98 imports (Data.Char, Data.List).
Eric Kow <[EMAIL PROTECTED]>**20080215103328]
[Tweak cabal files.
Eric Kow <[EMAIL PROTECTED]>**20080215103017]
[Distribute Cabal files with srcdist.
Eric Kow <[EMAIL PROTECTED]>**20080215102845]
[Add forgotten Setup.lhs for wx.
Eric Kow <[EMAIL PROTECTED]>**20080215102659]
[Add time and parsec dependencies for wxdirect.
Eric Kow <[EMAIL PROTECTED]>**20080215093221]
[Detect UTF-8 sampler file size.
Eric Kow <[EMAIL PROTECTED]>**20080215085024]
[Make dist target point to srcdist (for cabal).
Eric Kow <[EMAIL PROTECTED]>**20080215085017]
[add a newline to ./wxc/src/image.cpp to remove a warning
[EMAIL PROTECTED]
[update wiki page address in homepage/index.html
[EMAIL PROTECTED]
[Mark wxhaskell license as LGPL.
Eric Kow <[EMAIL PROTECTED]>**20080214203338]
[Update online build instructions for Cabal.
Eric Kow <[EMAIL PROTECTED]>**20080214175521]
[Add cabal file for high level directory.
Eric Kow <[EMAIL PROTECTED]>**20080214175329]
[Add a Cabal file for wxcore.
Eric Kow <[EMAIL PROTECTED]>**20080214175050
This uses the Make build-type, so we still need our configure file
and the makefile.
]
[Fix: make always regenerates wxc library although there is no change for wxc.
shelarcy <[EMAIL PROTECTED]>**20080131100800]
[Undo: Remove auto-generated stc files.
shelarcy <[EMAIL PROTECTED]>**20080131095136]
[Fix missing wxMediaCtrl symbols when linking wxc library
shelarcy <[EMAIL PROTECTED]>**20080131070353]
[Workaround for processExecAsyncTimed bug
Mads Lindstroem <[EMAIL PROTECTED]>**20080130202912
When a process, created with the function processExecAsyncTimed,
stops it makes WxHaskell die with "Prelude.chr bad argument". The
problem is reported elsewhere
http://sourceforge.net/mailarchive/message.php?msg_id=54647.129.16.31.149.1111686341.squirrel%40webmail.chalmers.se
and here
http://www.mail-archive.com/[EMAIL PROTECTED]/msg00267.html .
This patch does not solve the underlying problem, as it is still unknown, but do create a workaround.
The bug has only been seen on Linux systems.
]
[Initial wxWidgets 2.8.x's API Support
shelarcy <[EMAIL PROTECTED]>**20071212130224]
[TAG wxhaskell 2007-12-06
Eric Kow <[EMAIL PROTECTED]>**20071206155325]
Patch bundle hash:
49f14f7e99f70f498013c1043c4c99a68d078764
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
wxhaskell-devel mailing list
wxhaskell-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel