Closed Bug 442566 Opened 12 years ago Closed 12 years ago

make Lightning build on new shared calendar/mail/suite repository

Categories

(Calendar :: Build Config, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kairo, Assigned: kairo)

References

Details

Attachments

(1 file)

For building Lightning with the new shared calendar/mail/suite repository described in http://wiki.mozilla.org/MailNews:HgMeetingNotes we need a few small changes in calendar code.

I already filed bug 440017 and bug 440022, which both fit well no matter where we build the code.

In addition to those, we need a few adjustments we can temporarily wrap with ifdefs so they work with both cvs and the new hg repository. The var name in the ifdef will depend on the name of the repository, so I'll only file the patch once we have a decision on that.

Despite bug 437643 being filed on SeaMonkey, it currently tracks the whole shared repository for our projects.
Now that we have decided comm-central as the repository name, the build var we are setting in the repository is COMM_BUILD. As this var is only set when we build with the build system of that repository, we can safely introduce ifdefs temporarily even in calendar code of CVS, as we'll just go to the else branch here and nothing changes.

The main things to understand for review:

- MOZILLA_SRCDIR is set to the topsrcdir of the mozilla-central repository when
  building in the comm-central build system, topsrcdir itself is one level
  deeper and where the Thunderbird, SeaMonkey and calendar/ code are based.

- build.mk of Thunderbird (mail/build.mk) takes care of building webdav (as long
  as we need it) as it needs to be built in the mozilla build process and not
  our own (it sits in mozilla/extensions). SeaMonkey also has this in place in
  its suite/build.mk, even if the resulting Lightning doesn't fully work yet.

- lightning/makefiles.sh is being called by the toplevel allmakesfiles.mk when
  --enable-calendar is specified (i.e. MOZ_CALENDAR is set).

See http://wiki.mozilla.org/SeaMonkey:hg-based_build for detailed build instructions about how to build with the calemaisu-test repository (which is the test version of comm-central).
Attachment #327878 - Flags: review?
Attachment #327878 - Flags: review? → review?(ause)
Comment on attachment 327878 [details] [diff] [review]
make Lightning build with comm-central

>Index: lightning/Makefile.in
>+ifndef COMM_BUILD
>+DIRS = ../../extensions/webdav
>+endif

>Index: providers/caldav/Makefile.in
> ifeq (,$(filter webdav,$(MOZ_EXTENSIONS)))
>+ifndef COMM_BUILD
> DIRS += ../../../extensions/webdav
> endif
>+endif

Do you have some other way of including those directories in the HG build? Or is it ust not needed anymore. In the latter case, you can also just remove the line from CVS. In the former case, please add a comment.
mvl:
As I explained in comment #1 here, it's done by build.mk because it need to build with the Mozilla build system (else we'd need to create our own handling of an extensions/ directory, which is not worth it, given that I hear you will remove the need for this extension "soon").
A comment is probably reasonable, I'll add that line in both places:
# In the COMM_BUILD system, this is called by build.mk
Status: NEW → ASSIGNED
Comment on attachment 327878 [details] [diff] [review]
make Lightning build with comm-central

afaik, webdav extension isn't working anyway atm.
Attachment #327878 - Flags: review?(ause) → review+
Thanks, checked into cvs trunk only per IRC talk with ause.

BTW, knowing that the webdav stuff is probably dying is one of the reasons why I only cared to fix compilation and didn't care about much else. I'm happy when we can remove it from the list of things to pull via client.mk (same goes for wallet).
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
My understanding was that there was a patch pending to make WebDAV no longer be used, but that it hasn't landed yet.  So I wonder if this checkin will have broken CalDAV on trunk...
no, shouldn't have broken anything on trunk, we still should do exactly the same as before on |ifndef COMM_BUILD| which is true for cvs trunk, and we build webdav from our (Thunderbird or SeaMonkey) build.mk in the hg-based case.
You need to log in before you can comment on or make changes to this bug.