Melt butter in a 5-quart stockpot, then add oil, onions, and salt. Saute over low heat for about 20 minutes. Sprinkle flour over onions and cook a few more minutes. Transfer onions to a dish, add stock to the pot, and heat to simmering. Return onions to pot and simmer 30 minutes. Just before serving, toast French bread and add to soup. You can sprinkle grated cheese on the bread, or on the soup itself. Melt the cheese under the broiler, if desired.