How to use distcc in a project using more than one cross-compiler?

View: New views
9 Messages — Rating Filter:   Alert me  

How to use distcc in a project using more than one cross-compiler?

by JCX :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

I want to use distcc to compile a project in such a situation:

This project uses three kinds of cross-compilers. And the
cross-compiler paths are set absolutely in the config files, which
invalidates the command line setting ‘CC=distcc CROSS-COMPILER-PATH”’.

I want to know that how I can use distcc in the above situation? Look
forward to your reply.

Thanks && Best wishes,
Caixia
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by mbp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/8/4 JCX <jcx721@...>:

> Hi all,
>
> I want to use distcc to compile a project in such a situation:
>
> This project uses three kinds of cross-compilers. And the
> cross-compiler paths are set absolutely in the config files, which
> invalidates the command line setting ‘CC=distcc CROSS-COMPILER-PATH”’.
>
> I want to know that how I can use distcc in the above situation? Look
> forward to your reply.

It sounds from your description like it's totally hardcoded and
there's no way to insert distcc.  Somehow you need to arrange for the
build system to call it.

You could try something with masquerade mode.

--
Martin <http://launchpad.net/~mbp/>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by JCX :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for your help.

Is there only one way to insert distcc in the config files in order to
solve this problem?
This means that I need to modify the source files.

Thanks,
Caixia


2009/8/4 Martin Pool <mbp@...>:

> 2009/8/4 JCX <jcx721@...>:
>> Hi all,
>>
>> I want to use distcc to compile a project in such a situation:
>>
>> This project uses three kinds of cross-compilers. And the
>> cross-compiler paths are set absolutely in the config files, which
>> invalidates the command line setting ‘CC=distcc CROSS-COMPILER-PATH”’.
>>
>> I want to know that how I can use distcc in the above situation? Look
>> forward to your reply.
>
> It sounds from your description like it's totally hardcoded and
> there's no way to insert distcc.  Somehow you need to arrange for the
> build system to call it.
>
> You could try something with masquerade mode.
>
> --
> Martin <http://launchpad.net/~mbp/>
>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by mbp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/8/5 JCX <jcx721@...>:
> Thanks for your help.
>
> Is there only one way to insert distcc in the config files in order to
> solve this problem?
> This means that I need to modify the source files.

You're not giving me enough information here.

--
Martin <http://launchpad.net/~mbp/>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by JCX :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am sorry.

The project uses three cross-compilers. The compiler paths are set
absolutely in ".config" files, like "CC=ABSOLUTE COMPILER PATH".
".config" files are used by Makefile. We use make to compile the whole
project.

I think I may insert "distcc" before every compiler path in the
".config" file. However, this changes the original source files.
What's more, I need to find all the ".config" files in the project.

Is there any other elegant method?

Thanks for your help.

Best wishes,
Caixia



2009/8/5 Martin Pool <mbp@...>:

> 2009/8/5 JCX <jcx721@...>:
>> Thanks for your help.
>>
>> Is there only one way to insert distcc in the config files in order to
>> solve this problem?
>> This means that I need to modify the source files.
>
> You're not giving me enough information here.
>
> --
> Martin <http://launchpad.net/~mbp/>
>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by mbp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/8/5 JCX <jcx721@...>:

> I am sorry.
>
> The project uses three cross-compilers. The compiler paths are set
> absolutely in ".config" files, like "CC=ABSOLUTE COMPILER PATH".
> ".config" files are used by Makefile. We use make to compile the whole
> project.
>
> I think I may insert "distcc" before every compiler path in the
> ".config" file. However, this changes the original source files.
> What's more, I need to find all the ".config" files in the project.
>
> Is there any other elegant method?

A few options:

1- Move the compiler away and put a hardlink to distcc at the hardcoded location

2- Change the Makefiles to use an environment variable if it's set
rather than the value from .config

3- Change the Make setup so that the compiler is set once per distinct
scope not redundantly.

--
Martin <http://launchpad.net/~mbp/>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by JCX :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for your help.
However, I still have several questions.


2009/8/5 Martin Pool <mbp@...>:
> A few options:
>
> 1- Move the compiler away and put a hardlink to distcc at the hardcoded location

This project uses three cross-compilers. So, how can I put a hardlink
to distcc? I know to put a hardlink from one cross-compiler to distcc.

>
> 2- Change the Makefiles to use an environment variable if it's set
> rather than the value from .config
>
> 3- Change the Make setup so that the compiler is set once per distinct
> scope not redundantly.
>

Compiler paths are set only in .config.  This project uses so many
Makefiles that I haven't understand the call order. So, I am sorry
that I can't change the Makefiles.

Thanks && Best wishes,
Caixia
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by Fergus Henderson-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Aug 5, 2009 at 2:56 AM, JCX <jcx721@...> wrote:
Thanks for your help.
However, I still have several questions.


2009/8/5 Martin Pool <mbp@...>:
> A few options:
>
> 1- Move the compiler away and put a hardlink to distcc at the hardcoded location

This project uses three cross-compilers. So, how can I put a hardlink
to distcc? I know to put a hardlink from one cross-compiler to distcc.

Suppose your three cross-compilers are /foo/cc1, /bar/cc2, and /baz/cc3.
Then do
     mv /foo/cc1 /foo/cc1.orig
     ln /usr/bin/distcc /foo/cc1
     mv /bar/cc2 /bar/cc2.orig
     ln /usr/bin/distcc /bar/cc2
     mv /baz/cc3 /baz/cc3.orig
     ln /usr/bin/distcc /baz/cc3

Do that only on the distcc client, not on the distcc servers.

But before trying that (masquerading), I would first try just replacing

   CC=/ABSOLUTE/COMPILER/PATH

in your config files with

   CC="distcc /ABSOLUTE/COMPILER/PATH"

and see if that works, or if it can be made to work with minor modifications to the Makefiles.
--
Fergus Henderson <fergus@...>

__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc

Re: How to use distcc in a project using more than one cross-compiler?

by JCX :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for all your help.

I will try this method.

Best wishes,
Caixia

2009/8/5 Fergus Henderson <fergus@...>:

> On Wed, Aug 5, 2009 at 2:56 AM, JCX <jcx721@...> wrote:
>>
>> Thanks for your help.
>> However, I still have several questions.
>>
>>
>> 2009/8/5 Martin Pool <mbp@...>:
>> > A few options:
>> >
>> > 1- Move the compiler away and put a hardlink to distcc at the hardcoded
>> > location
>>
>> This project uses three cross-compilers. So, how can I put a hardlink
>> to distcc? I know to put a hardlink from one cross-compiler to distcc.
>
> Suppose your three cross-compilers are /foo/cc1, /bar/cc2, and /baz/cc3.
> Then do
>      mv /foo/cc1 /foo/cc1.orig
>      ln /usr/bin/distcc /foo/cc1
>      mv /bar/cc2 /bar/cc2.orig
>      ln /usr/bin/distcc /bar/cc2
>      mv /baz/cc3 /baz/cc3.orig
>      ln /usr/bin/distcc /baz/cc3
>
> Do that only on the distcc client, not on the distcc servers.
>
> But before trying that (masquerading), I would first try just replacing
>
>    CC=/ABSOLUTE/COMPILER/PATH
> in your config files with
>
>    CC="distcc /ABSOLUTE/COMPILER/PATH"
>
> and see if that works, or if it can be made to work with minor modifications
> to the Makefiles.
> --
> Fergus Henderson <fergus@...>
>
__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc