Skip to content

Merge build systems in subdirectories of otherlibs.#788

Merged
damiendoligez merged 6 commits intoocaml:trunkfrom
shindere:merge-otherlibs-makefiles
Sep 5, 2016
Merged

Merge build systems in subdirectories of otherlibs.#788
damiendoligez merged 6 commits intoocaml:trunkfrom
shindere:merge-otherlibs-makefiles

Conversation

@shindere
Copy link
Contributor

Nothing needed to be done in the directories that are built only on Unix.

@alainfrisch
Copy link
Contributor

(For the reader: this is mostly about moving code around to ensure that everything is in Makefile and that Makefile.nt is always trivial; most of the sharing was already done before.)

Would it be possible to further factorize the post-processing of .depend (to produce .depend.nt) in the common in otherlibs/Makefile?

For the Windows-specific directories, I'd suggest ensuring that calling make from Unix fails explicitly.

@alainfrisch
Copy link
Contributor

A more ambitious approach would be to ensure that the Makefile in otherlibs/unix and otherlibs/graph could be used even under Windows and in that case automatically delegate to otherlibs/win32unix and otherlibs/win32graph to produce the required artifacts. These win32-specific directories could then be moved e.g. to otherlibs/unix/win32 and otherlibs/graph/win32 to make it clear that they are really alternative implementations of the same library. This might allow some more sharing between the build instructions for the Unix and Windows variants.

@shindere shindere force-pushed the merge-otherlibs-makefiles branch from 635a4be to b2bf242 Compare August 31, 2016 07:15
@shindere
Copy link
Contributor Author

Alain Frisch (2016/08/30 15:30 -0700):

Would it be possible to further factorize the post-processing of
.depend (to produce .depend.nt) in the common in otherlibs/Makefile?

Sure. It has been done. The depend target has also been factorized and
the whole branch has been rebased on the latest trunk.

For the Windows-specific directories, I'd suggest ensuring that calling make from Unix fails explicitly.
A more ambitious approach would be to ensure that the Makefile in
otherlibs/unix and otherlibs/graph could be used even under Windows
and in that case automatically delegate to otherlibs/win32unix and
otherlibs/win32graph to produce the required artifacts. These
win32-specific directories could then be moved e.g. to
otherlibs/unix/win32 and otherlibs/graph/win32 to make it clear that
they are really alternative implementations of the same library. This
might allow some more sharing between the build instructions for the
Unix and Windows variants.

Could these be implemented in separate commits?
Would it be okay to just add a TODO comment in the makefiles?

@alainfrisch
Copy link
Contributor

A make -f Makefile.nt clean (before any build) now fails with

make[1]: Entering directory '/home/frisch/ocaml/trunk/otherlibs/win32graph'
../Makefile:146: .depend.nt: No such file or directory

@alainfrisch
Copy link
Contributor

Would it be okay to just add a TODO comment in the makefiles?

Yes, of course.

@shindere shindere force-pushed the merge-otherlibs-makefiles branch from b2bf242 to 3b2aeec Compare August 31, 2016 08:17
@shindere
Copy link
Contributor Author

Alain Frisch (2016/08/31 00:45 -0700):

A make -f Makefile.nt clean (before any build) now fails with

make[1]: Entering directory '/home/frisch/ocaml/trunk/otherlibs/win32graph'
../Makefile:146: .depend.nt: No such file or directory

Ah indeed, sorry.

It would actually be possible to make sure .depend is not included when
cleaning, but that would not be enough because in its present state
win32graph does not use any .depend file.

So my suggestion would be to renounce to the factorizatio commit for
now, because this would lead further than was initially intended.

What do you think?

@xavierleroy
Copy link
Contributor

I don't understand the specific issue with win32graph, but would like to say:

  • This refactoring of makefiles is great and something we should have done a long time ago, so please don't give up easily, and let us all try to help @shindere complete it.
  • otherlibs/win32graph, like otherlibs/graph, should eventually be removed from the core distribution and live and be distributed as a separate project. Maybe it is time to do that.

@alainfrisch
Copy link
Contributor

What do you think?

Yes, ok.

@shindere shindere force-pushed the merge-otherlibs-makefiles branch from 3b2aeec to 255c2f3 Compare August 31, 2016 12:22
@shindere
Copy link
Contributor Author

Alain Frisch (2016/08/31 03:14 -0700):

What do you think?

Yes, ok.

So this factorization commit is now gone.

I added a note in otherlibs/win32unix suming up our discussion but I
left the Makefile in otherlibs/win32graph unchanged for now.

@shindere
Copy link
Contributor Author

Xavier Leroy (2016/08/31 02:07 -0700):

  • otherlibs/win32graph, like otherlibs/graph, should eventually be
    removed from the core distribution and live and be distributed as a
    separate project. Maybe it is time to do that.

I can take care of that if you like. I'd just need to make sure what it
involves technically, in addition to removing the directories and all
the references to them in other files, or perhaps just leaving a
directory with one file saying it has been removed, as is done for
ocamlbuild I think.

Since these directories are built only on Windows, they contained
only a Makefile.nt. For each directory, this commit moves the
content of its Makefile.nt to Makefile and creates a Makefile.nt
that includes the corresponding Makefile.
@shindere shindere force-pushed the merge-otherlibs-makefiles branch from 255c2f3 to d3eff85 Compare August 31, 2016 13:07
@shindere
Copy link
Contributor Author

Alain Frisch (2016/08/31 00:48 -0700):

Would it be okay to just add a TODO comment in the makefiles?

Yes, of course.

Done in win32unix. I didn't touch win32graph yet, in case it is decided
to remove it from the distribution.

@damiendoligez damiendoligez merged commit 98549a1 into ocaml:trunk Sep 5, 2016
@shindere shindere deleted the merge-otherlibs-makefiles branch October 6, 2016 07:44
camlspotter pushed a commit to camlspotter/ocaml that referenced this pull request Oct 17, 2017
Merge build systems in subdirectories of otherlibs.
EduardoRFS pushed a commit to esy-ocaml/ocaml that referenced this pull request Dec 17, 2021
Fix selectgen `effects_of` for `Cdls_get`
stedolan pushed a commit to stedolan/ocaml that referenced this pull request Sep 21, 2022
EmileTrotignon pushed a commit to EmileTrotignon/ocaml that referenced this pull request Jan 12, 2024
…full screen (ocaml#788)

* remove stray w-full on package docs sidebar

* adds a background-blurring overlay when the sidebar is open

Co-authored-by: Sabine Schmaltz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants