Why No Names for gcc's Objective C and Objective C++?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I just added "objc,obj-c++" to  my list of languages to be built with gcc.

I also added my configure option "--program-suffix=-4.5.1" so I can
call, e.g., "gcc-4.5.1 pgog.c".

After installation, I was surprised to see no reference to either new
language when i executed:

  ls -ld /usr/local/bin/*4.5.1*

Here are the results:

-rwxr-xr-x 4 root root 298991 Aug 11 16:48 /usr/local/bin/c++-4.5.1
-rwxr-xr-x 1 root root 295179 Aug 11 16:48 /usr/local/bin/cpp-4.5.1
-rwxr-xr-x 4 root root 298991 Aug 11 16:48 /usr/local/bin/g++-4.5.1
-rwxr-xr-x 2 root root 294852 Aug 11 16:48 /usr/local/bin/gcc-4.5.1
-rwxr-xr-x 1 root root  15936 Aug 11 16:48 /usr/local/bin/gccbug-4.5.1
-rwxr-xr-x 1 root root  37014 Aug 11 16:48 /usr/local/bin/gcov-4.5.1
-rwxr-xr-x 2 root root 299207 Aug 11 16:48 /usr/local/bin/gfortran-4.5.1
-rwxr-xr-x 4 root root 298991 Aug 11 16:48
/usr/local/bin/x86_64-unknown-linux-gnu-c++-4.5.1
-rwxr-xr-x 4 root root 298991 Aug 11 16:48
/usr/local/bin/x86_64-unknown-linux-gnu-g++-4.5.1
-rwxr-xr-x 2 root root 294852 Aug 11 16:48
/usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.5.1
-rwxr-xr-x 2 root root 299207 Aug 11 16:48
/usr/local/bin/x86_64-unknown-linux-gnu-gfortran-4.5.1

I expected to see also something like:

-rwxr-xr-x 2 root root 294852 Aug 11 16:48 /usr/local/bin/gobjc-4.5.1
-rwxr-xr-x 2 root root 294852 Aug 11 16:48 /usr/local/bin/gobjc++-4.5.1
...

When I went back to the gcc docs, I saw that I have to use the -x
<language> option to gcc to compile Objective-C and Objective-C++ or
use the automatic language compilation selection by using the
appropriate program source file name extenstion:

  gcc progsrc.m     -lobjc  # Objectice-C
  gcc progsrc.mm  -lobjc   # Objective-C++

or

  gcc -x objective-c     progsrc.txt -lobjc
  gcc -x objective-c++ progsrc.txt -lobjc

Some questions, please:

1.  Why no specific name for the two languages?

2.  Why the extra set of executables with the longer names, e.g.,
x86_64-unknown-linux-gnu-gfortran-4.5.1?

3.  Why does the library libobjc have to be explicitly linked when it
is mandatory?

Thanks,

-Tom

Thomas M. Browder, Jr.
Niceville, Florida
USA


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux