unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Building Emacs on two different OSes from a shared directory
@ 2013-01-28  7:48 Dani Moncayo
  2013-01-28  9:29 ` Xue Fuqiao
  2013-01-28 14:19 ` Eli Zaretskii
  0 siblings, 2 replies; 11+ messages in thread
From: Dani Moncayo @ 2013-01-28  7:48 UTC (permalink / raw)
  To: Emacs development discussions

Hello,

I have Ubuntu installed on one machine, and Windows 7 installed on top
of it as a virtual machine (made with VirtualBox).

If I have a mirror of Emacs trunk in Ubuntu, and that directory tree
is also accessible from Windows (it's a shared folder), can I build
Emacs correctly on both OSes from that same repository, or could there
be some problem?

TIA.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  7:48 Building Emacs on two different OSes from a shared directory Dani Moncayo
@ 2013-01-28  9:29 ` Xue Fuqiao
  2013-01-28  9:38   ` Dani Moncayo
  2013-01-28  9:49   ` Andreas Schwab
  2013-01-28 14:19 ` Eli Zaretskii
  1 sibling, 2 replies; 11+ messages in thread
From: Xue Fuqiao @ 2013-01-28  9:29 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

On Mon, 28 Jan 2013 08:48:03 +0100
Dani Moncayo <dmoncayo@gmail.com> wrote:

> I have Ubuntu installed on one machine, and Windows 7 installed on top
> of it as a virtual machine (made with VirtualBox).
> 
> If I have a mirror of Emacs trunk in Ubuntu, and that directory tree
> is also accessible from Windows (it's a shared folder), can I build
> Emacs correctly on both OSes from that same repository, or could there
> be some problem?

I think you can.  Just use two seperate branches in one repository:

      cd emacs
      bzr branch trunk/ BRANCHNAME/

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  9:29 ` Xue Fuqiao
@ 2013-01-28  9:38   ` Dani Moncayo
  2013-01-28  9:53     ` Xue Fuqiao
  2013-01-28 14:22     ` Eli Zaretskii
  2013-01-28  9:49   ` Andreas Schwab
  1 sibling, 2 replies; 11+ messages in thread
From: Dani Moncayo @ 2013-01-28  9:38 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Emacs development discussions

>> I have Ubuntu installed on one machine, and Windows 7 installed on top
>> of it as a virtual machine (made with VirtualBox).
>>
>> If I have a mirror of Emacs trunk in Ubuntu, and that directory tree
>> is also accessible from Windows (it's a shared folder), can I build
>> Emacs correctly on both OSes from that same repository, or could there
>> be some problem?
>
> I think you can.  Just use two seperate branches in one repository:
>
>       cd emacs
>       bzr branch trunk/ BRANCHNAME/

Of course, if I make a separate branch for each OS, there should not
be any problem, but the question is whether I could compile Emacs on
both OSes using the same directory tree.

AFAIK, the build on MS-Windows is done entirely under the "nt/"
subdirectory which is specific to that platform.  If that is true,
there should be no problem is sharing the same directory tree for both
OSes.


-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  9:29 ` Xue Fuqiao
  2013-01-28  9:38   ` Dani Moncayo
@ 2013-01-28  9:49   ` Andreas Schwab
  1 sibling, 0 replies; 11+ messages in thread
From: Andreas Schwab @ 2013-01-28  9:49 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Emacs development discussions, Dani Moncayo

Xue Fuqiao <xfq.free@gmail.com> writes:

> I think you can.  Just use two seperate branches in one repository:

You don't need to copy the sources, just use separate build directories.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  9:38   ` Dani Moncayo
@ 2013-01-28  9:53     ` Xue Fuqiao
  2013-01-28 12:36       ` Harald Hanche-Olsen
  2013-01-28 14:22     ` Eli Zaretskii
  1 sibling, 1 reply; 11+ messages in thread
From: Xue Fuqiao @ 2013-01-28  9:53 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

On Mon, 28 Jan 2013 10:38:55 +0100
Dani Moncayo <dmoncayo@gmail.com> wrote:

> Of course, if I make a separate branch for each OS, there should not
> be any problem, but the question is whether I could compile Emacs on
> both OSes using the same directory tree.

The GNU Build System distinguishes two trees: the source tree, and the build tree.  So I think you can do it.

> AFAIK, the build on MS-Windows is done entirely under the "nt/"
> subdirectory which is specific to that platform.  If that is true,
> there should be no problem is sharing the same directory tree for both
> OSes.

I have never built Emacs on w32, so I have no idea.

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  9:53     ` Xue Fuqiao
@ 2013-01-28 12:36       ` Harald Hanche-Olsen
  0 siblings, 0 replies; 11+ messages in thread
From: Harald Hanche-Olsen @ 2013-01-28 12:36 UTC (permalink / raw)
  To: xfq.free; +Cc: emacs-devel, dmoncayo

[Xue Fuqiao <xfq.free@gmail.com> (2013-01-28 09:53:46 UTC)]

> On Mon, 28 Jan 2013 10:38:55 +0100
> Dani Moncayo <dmoncayo@gmail.com> wrote:
> 
> > Of course, if I make a separate branch for each OS, there should not
> > be any problem, but the question is whether I could compile Emacs on
> > both OSes using the same directory tree.
> 
> The GNU Build System distinguishes two trees: the source tree, and the build tree.  So I think you can do it.

One way to do that would be, on architecture foo:

./autogen.sh
mkdir build_foo
cd build_foo
../configure
make

I am not too sure if autogen.sh has results that are incompatible between architectures, though, so you might not get away with building for architectures foo and bar at the same time.

- Harald



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  7:48 Building Emacs on two different OSes from a shared directory Dani Moncayo
  2013-01-28  9:29 ` Xue Fuqiao
@ 2013-01-28 14:19 ` Eli Zaretskii
  2013-01-28 14:21   ` Dani Moncayo
  1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2013-01-28 14:19 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: emacs-devel

> Date: Mon, 28 Jan 2013 08:48:03 +0100
> From: Dani Moncayo <dmoncayo@gmail.com>
> 
> I have Ubuntu installed on one machine, and Windows 7 installed on top
> of it as a virtual machine (made with VirtualBox).
> 
> If I have a mirror of Emacs trunk in Ubuntu, and that directory tree
> is also accessible from Windows (it's a shared folder), can I build
> Emacs correctly on both OSes from that same repository, or could there
> be some problem?

You can build in the same tree, if you want: since the Windows build
places the compiled files in subdirectories (src/oo/i386 etc.), and
the Unix build places them in the same directory as sources, there
should be no conflict.

On Unix, you can also build outside of the source tree:

  mkdir /some/where/else
  cd /some/where/else
  /path/to/emacs/tree/configure ...
  make

In the latter case, the source directories will remain clean.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28 14:19 ` Eli Zaretskii
@ 2013-01-28 14:21   ` Dani Moncayo
  0 siblings, 0 replies; 11+ messages in thread
From: Dani Moncayo @ 2013-01-28 14:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

> You can build in the same tree, if you want: since the Windows build
> places the compiled files in subdirectories (src/oo/i386 etc.), and
> the Unix build places them in the same directory as sources, there
> should be no conflict.
>
> On Unix, you can also build outside of the source tree:
>
>   mkdir /some/where/else
>   cd /some/where/else
>   /path/to/emacs/tree/configure ...
>   make
>
> In the latter case, the source directories will remain clean.

Great.  Thank you.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28  9:38   ` Dani Moncayo
  2013-01-28  9:53     ` Xue Fuqiao
@ 2013-01-28 14:22     ` Eli Zaretskii
  2013-01-28 14:29       ` Dani Moncayo
  1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2013-01-28 14:22 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: xfq.free, emacs-devel

> Date: Mon, 28 Jan 2013 10:38:55 +0100
> From: Dani Moncayo <dmoncayo@gmail.com>
> Cc: Emacs development discussions <emacs-devel@gnu.org>
> 
> AFAIK, the build on MS-Windows is done entirely under the "nt/"
> subdirectory which is specific to that platform.

The Windows build is _started_ in the nt/ directory.  But then the
Makefiles recurse into the other directories: src, lib, lib-src, etc.,
and build files there as well.

It is however, true that compiled files are placed in subdirectories,
like nt/oo/i386, src/oo/i386, etc. -- different set of directories for
each architecture and optimization level.  So compiling on Unix will
not overwrite Windows object files and executables.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28 14:22     ` Eli Zaretskii
@ 2013-01-28 14:29       ` Dani Moncayo
  2013-01-28 15:20         ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: Dani Moncayo @ 2013-01-28 14:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: xfq.free, emacs-devel

>> AFAIK, the build on MS-Windows is done entirely under the "nt/"
>> subdirectory which is specific to that platform.
>
> The Windows build is _started_ in the nt/ directory.  But then the
> Makefiles recurse into the other directories: src, lib, lib-src, etc.,
> and build files there as well.
>
> It is however, true that compiled files are placed in subdirectories,
> like nt/oo/i386, src/oo/i386, etc. -- different set of directories for
> each architecture and optimization level.  So compiling on Unix will
> not overwrite Windows object files and executables.

Understood, thanks.  I presume this is true also for "make install".

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Building Emacs on two different OSes from a shared directory
  2013-01-28 14:29       ` Dani Moncayo
@ 2013-01-28 15:20         ` Eli Zaretskii
  0 siblings, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2013-01-28 15:20 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: xfq.free, emacs-devel

> Date: Mon, 28 Jan 2013 15:29:35 +0100
> From: Dani Moncayo <dmoncayo@gmail.com>
> Cc: xfq.free@gmail.com, emacs-devel@gnu.org
> 
> >> AFAIK, the build on MS-Windows is done entirely under the "nt/"
> >> subdirectory which is specific to that platform.
> >
> > The Windows build is _started_ in the nt/ directory.  But then the
> > Makefiles recurse into the other directories: src, lib, lib-src, etc.,
> > and build files there as well.
> >
> > It is however, true that compiled files are placed in subdirectories,
> > like nt/oo/i386, src/oo/i386, etc. -- different set of directories for
> > each architecture and optimization level.  So compiling on Unix will
> > not overwrite Windows object files and executables.
> 
> Understood, thanks.  I presume this is true also for "make install".

Yes, see install-other-dirs-gmake.



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-01-28 15:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-28  7:48 Building Emacs on two different OSes from a shared directory Dani Moncayo
2013-01-28  9:29 ` Xue Fuqiao
2013-01-28  9:38   ` Dani Moncayo
2013-01-28  9:53     ` Xue Fuqiao
2013-01-28 12:36       ` Harald Hanche-Olsen
2013-01-28 14:22     ` Eli Zaretskii
2013-01-28 14:29       ` Dani Moncayo
2013-01-28 15:20         ` Eli Zaretskii
2013-01-28  9:49   ` Andreas Schwab
2013-01-28 14:19 ` Eli Zaretskii
2013-01-28 14:21   ` Dani Moncayo

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).