Closed Bug 115840 Opened 23 years ago Closed 23 years ago

Complex Text Layout (CTL) extension not build for Xlib toolkit

Categories

(SeaMonkey :: Build Config, defect, P4)

Sun
Solaris
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla0.9.8

People

(Reporter: roland.mainz, Assigned: netscape)

Details

Attachments

(4 files)

The CTL extension is not build for Xlib toolkit - I am getting a weired message
from "configure --enable-toolkit=xlib --enable-ctl" (2001-12-17-08-trunk):
-- snip --
checking for trouble comparing to zero near std::operator!=()... no
checking for LC_MESSAGES... yes
checking for nspr-config... no
checking for NSPR - version >= 4.0.0 (skipping)... no
checking for jpeg_destroy_compress in -ljpeg... yes
checking for zlib.h... yes
checking for gzread in -lz... yes
checking for png_get_valid in -lpng... yes
checking for mng_initialize in -lmng... no
checking for XpGetPrinterList in -lXp... yes
configure: warning: Cannot build ctl without glib. Removing ctl from
MOZ_EXTENSIONS.
checking for cplus_demangle in -liberty... yes
checking for gcc -pipe support... no
checking whether C++ compiler has -pedantic long long bug... no
checking for correct overload resolution with const and templates... no
checking whether compiler supports -Wno-long-long... yes
checking for glib-config... /usr/local/bin/glib-config
checking for GLIB - version >= 1.2.0... yes
checking for libIDL-config... /usr/local/bin/libIDL-config
-- snip --

Does that mean CTL gets disabled due "missing" glib - but later it finds glib ?
Nice... ;-(
(glib is installed on that machine...)
Looking at configure.in:
-- snip --
if test -z "$MOZ_ENABLE_GTK" && test `echo "$MOZ_EXTENSIONS" | grep -c ctl` -ne
0; then
    AC_MSG_WARN([Cannot build ctl without glib. Removing ctl from
MOZ_EXTENSIONS.])
    MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|ctl||'`
fi
-- snip --
We have to check for MOZ_ENABLE_XLIB here, too ...

cls:
Do you think it's usefull to introduce a new CPP/Makefile var "$MOZ_ENABLE_X11"
to indicate that either GTK+ or Xlib toolkit is used (what about Qt ?) ?
Hrm. That's just wrong.  When ctl was originally checked in, that comment said
gtk, not glib.  If glib is all that is required, then that check should be
removed entirely as we require glib to build Mozilla.  

Bug 71192 is covering the supposed need for another CPP define.  I think we're
fine using NO_X11 as we currently are.

Priority: -- → P4
Target Milestone: --- → mozilla0.9.8
I do not see any GDK/GTK+ calls in the CTL extension code (except that I have to
port minor things from nsFontMetricsGTK.cpp to nsFontMetricsXLib.cpp - but I am
sure that CTL will work without that - except that it won't find the Thai fonts)
...
I hacked autoconf.mk to build extensions/ctl on my Xlib builds ... it seems to
work :)
Attached patch Remove bogus gtk check for ctl (deleted) β€” β€” Splinter Review
Comment on attachment 62317 [details] [diff] [review]
Remove bogus gtk check for ctl

Are you sure that CTL may not be accidently enabled on Win32/Mac/BeOS if
someone uses --enable-extensions=all ?
No, I'm fairly certain that it would be enabled on those platforms.  Is there
any reason that it shouldn't?  Does CTL apply to X11 fonts only?
Christopher Seawood wrote:
> No, I'm fairly certain that it would be enabled on those platforms.  Is there
> any reason that it shouldn't?  Does CTL apply to X11 fonts only?

I do not see any special code which depends on any X11 includes/libraries in
extensions/ctl/ ...
... I would say "no".

Lets try it! :)
Patch has been checked in and the boxes seem to be surviving.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
The checkin of this patch broke the OS/2 tinderbox:

Building deps for E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c
icc -Fomodules.obj -c -DOSTYPE=\"OS22\" -DOSARCH=\"OS2\" -DOJI  
-I../../../../dist/include/mozpango -I../../../../dist/include
-IE:/OS2_2.40_Clobber/mozilla/obj/dist/include/nspr          /Q /W1 /Q /qlibansi
/Gd+ /Gm+ /Su4 /Mp /Tl9  -DNDEBUG -DTRIMMED -IE:/GLIBIDL/GLIB/vacpp/include  /Q
/W1 -DX_DISPLAY_MISSING=1  -DNO_ANSI_KEYWORDS=1  -DOS2=4  -D_X86_=1 
-DXP_OS2_VACPP=1  -DTCPV40HDRS=1  -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 
-DSTDC_HEADERS=1  -DD_INO=d_ino  -Dmode_t=int  -Doff_t=long  -Dpid_t=int 
-Dsize_t=unsigned  -Duid_t=int  -Dgid_t=int  -D__size_t=1  -D__off_t=1 
-DHAVE_CPP_2BYTE_WCHAR_T=1  -DHAVE_MEMORY_H=1  -DHAVE_NL_TYPES_H=1 
-DHAVE_LIBM=1  -DNO_X11=1  -DMMAP_MISSES_WRITES=1  -DHAVE_STRERROR=1 
-DHAVE_MEMMOVE=1  -DHAVE_NL_LANGINFO=1  -DHAVE_IOS_BINARY=1  -DHAVE_IOS_BIN=1 
-DHAVE_CPP_SPECIALIZATION=1  -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 
-DHAVE_CPP_TROUBLE_COMPARING_TO_ZERO=1  -DHAVE_I18N_LC_MESSAGES=1 
-DMOZ_DEFAULT_TOOLKIT=\"os2\"  -DIBMBIDI=1  -DACCESSIBILITY=1  -DMOZ_LOGGING=
1  -DUNIX_CRASH_ON_ASSERT=1  -DMOZ_USER_DIR=\".mozilla\" 
-DNSCAP_DONT_PROVIDE_NONCONST_OPEQ=1  -DMOZ_XUL=1  -DINCLUDE_XUL=1 
-DNS_MT_SUPPORTED=1  -DUSE_IMG2=1  -DMOZ_BYPASS_PROFILE_AT_STARTUP=1 
-DMOZ_DLL_SUFFIX=\".dll\"  -DXP_PC=1  -DXP_OS2=1  -DBSD_SELECT=1  -DXP_OS2_FIX=1
 -DJS_THREADSAFE=1  -DNS_PRINT_PREVIEW=1   -DMOZILLA_CLIENT
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(40:10) :
error EDC0296: #include file <gmodule.h> not found.
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(152:16) :
error EDC0045: Undeclared identifier module.
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(152:7) :
error EDC0045: Undeclared identifier GModule.
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(153:7) :
error EDC0275: Unexpected text 'char' encountered.
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(153:16) :
error EDC0045: Undeclared identifier module_name.
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(154:19) :
error EDC0276: Syntax error: possible missing ':'?
E:/OS2_2.40_Clobber/mozilla/extensions/ctl/src/pangoLite/modules.c(163:64) :
error EDC0045: Undeclared identifier load.
gmake.exe[5]: *** [modules.obj] Error 12
gmake.exe[5]: Leaving directory
`/OS2_2.40_Clobber/mozilla/obj/extensions/ctl/src/pangoLite'
Where is gmodule.h supposed to come from?

It is not in our glib.
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: